[Spring] Spring MVC中@Autowired注释失效的可能原因
2014-10-15 18:35
309 查看
SpringMVC项目中Domain层因为@Autowired注释失效,实例没有完成初始化,出现空指针异常。
尝试了各种方法,包括为实体添加无参数构造函数、检查Spring配置文件中applicationContext.xml中context:component-scan项的配置等,都没有解决问题。
最后终于发现因为Service层(Domain的上一层)一个属性忘了使用自动注入,而是手动实例化,因此导致Service层以下的层的@Autowired注释失效。
这是现象比较有意思,可见SpringMVC要求我们在应该使用自动注入的地方必须使用,否则它会赌气让后面的自动注入失效。
尝试了各种方法,包括为实体添加无参数构造函数、检查Spring配置文件中applicationContext.xml中context:component-scan项的配置等,都没有解决问题。
最后终于发现因为Service层(Domain的上一层)一个属性忘了使用自动注入,而是手动实例化,因此导致Service层以下的层的@Autowired注释失效。
这是现象比较有意思,可见SpringMVC要求我们在应该使用自动注入的地方必须使用,否则它会赌气让后面的自动注入失效。
相关文章推荐
- Spring 注释 @Autowired 和@Resource 的区别
- Spring学习3_Spring 注释 @Autowired 和@Resource 的区别
- Spring 注释 Autowired 和@Resource 的区别
- Spring Autowired(required = false) 说明与@Qualifier 注释说明
- Spring使用@Resource、@Autowired注入时出现空指针问题的原因
- Spring 注释 @Autowired 和@Resource 的区别
- spring 让@Autowired 注释工作起来
- spring 让@Autowired 注释工作起来
- Spring 注释 @Autowired 和@Resource 的区别
- Spring的注释@Autowired、@Qualifier使用说明
- Spring 注释 @Autowired 和@Resource 的区别
- spring之注释@Autowired、@Resourse
- Spring 注释 @Autowired 和@Resource 的区别
- Spring 注释 @Autowired 和@Resource 的区别
- SpringMVC经典必看——使用 Spring2.5注释详解(@Autowired、@Resource 、@PostConstruct、PreDestroy 和 @Component)
- JAVA学习之——Spring 注释 @Autowired 和@Resource 的区别
- Spring使用@Resource、@Autowired注入时出现空指针问题的原因
- Spring 注释 @Autowired 和@Resource 的区别
- 使用 Spring 2.5 注释驱动的 IoC 功能——@Autowired
- Spring 注释 @Autowired 和@Resource 的区别