问题描述:使用@Autowired注入的类,没有实例化
//Controller @RequestMapping(value="/deepblue") @Controller public class AController{@Autowiredprivate BService bService;public void test(){bService.test();} }//Service @Service public class BService{public void test(){new CService().test(); } }//Service @Component public class CService{@Autowiredprivate DataService dataService; // null @Value(${data.service.ticket})private String dataServiceTicket; // null }
上述代码debug,发现@Autowired @Value注入为null,依次检查application.properties和dubbo-spring.xml文件,@Value变量和dubbo bean都有注入
解决问题的过程:
解决问题都过程放在spring容器启动都时候是否扫描类DataService,是否注入;
如何解决的问题:
反思问题产生的原因:不是单例,又重新new了一个对象;
You should autowire your PersonService
class in your controller instead of making it as an object
总结spring加载bean的理解: