项目中使用到class.newInstance()实例化对象时发现实例化出来对象中注入的Bean都是null
代码:
public class Test1 {
public void test(){
Class class = Tast2.class;
Test2 test2 = class.newInstance();//newInstance实例化出来的对象中TestService 是null
test2.test();//报空指针
}
}
public class Test2 {
@Autowired
private TestService testService;
public void test(){
testService.test();
}
}
//正确用法
public class Test3 {
@Autowired
private ApplicationContext applicationContext;
public void test(){
Class clazz = Tast2.class;
Test2 test2 = applicationContext.getAutowireCapableBeanFactory().createBean(clazz);
test2.test();
}
}



