反射得到的对象注入Spring

反射得到的对象如何注入到Spring中

项目中设用反射得到的对象,是相当于new出来的对象,是无法被Spring容器管理的,需要使用这种方式,使得该对象被Spring管理,才能调用其中的方法:
工具类如SpringContextUtil如下

@Component
public class SpringContextUtil implements ApplicationContextAware {
     
    private SpringContextUtil() {
         
    }
     
    private static ApplicationContext applicationContext;
     
    @Override
    public void setApplicationContext(ApplicationContext applicationContext){
        SpringContextUtil.applicationContext = applicationContext;
    }
     
    public static  T getBean(Class clazz) {
        return applicationContext.getBean(clazz);
    }
 
}

测试类

public class EmployeeTeachServiceImpl{
	public EmployeeTeachDto get(){
		Class clazz = Class.forName("EmployeeTeachMapper");
		// 这样被Spring管理了,就可以调用方法了
		EmployeeTeachMapper teachMapper= SpringContextUtil.getBean(clazz );
		teachMapper.xxx();
		......
	}
} 

你可能感兴趣的:(java)