springBoot实现反射机制

获取CLASS实现类对象

根据class实现类的包名路径来获取实例化对象

 //首先定义一个实现类路径
 String a ="com.bnwisdom.demo.service.impl.ActivitiDeployServiceImpl";
 //根据该路径获取class对象
 Class  aClass = Class.forName(confById.getImplClass());

之前是直接通过Class.forName(confById.getImplClass()).newInstance();来获取对象的,但是实际上是有问题的,因为我的项目是springBoot项目,没有放到容器去管理,所以修改成了另外的一个操作,让spring去管理它

//把这个class丢到spring去管理
activitiDeployService = (ActivitiDeployService) SpringContextUtil.getBean(aClass);

package com.bnwisdom;

import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;

/**
 *  *  获取spring容器,以访问容器中定义的其他bean  
 */

@Component
public class SpringContextUtil {
	// spring上下文
	private static ApplicationContext applicationContext;

	/**
	 *      * 实现ApplicationContextAware接口的回调方法,设置上下文环境      * @param
	 * applicationContext     
	 */
	public sta

版权声明:本文为distinctive_MAN原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。