我找到了一些答案:https://stackoverflow.com/a/21218921/2754014关于依赖注入.没有像@ Autowired,@ Inject或@Resource这样的注释.让我们假设这个示例TwoInjectionStyles bean没有任何XML配置(简单< context:component-scan base-package =“com.example”/>除外).
在没有指定注释的情况下注入是否正确?
最佳答案
从Spring 4.3开始,构造函数注入不需要注释.
public class MovieRecommender {
private CustomerPreferenceDao customerPreferenceDao;
private MovieCatalog movieCatalog;
//@Autowired - no longer necessary
public MovieRecommender(CustomerPreferenceDao customerPreferenceDao) {
this.customerPreferenceDao = customerPreferenceDao;
}
@Autowired
public setMovieCatalog(MovieCatalog movieCatalog) {
this.movieCatalog = movieCatalog;
}
}
但你仍然需要@Autowired进行二传手注射.我刚才用Spring Boot 1.5.7(使用Spring 4.3.11)检查过,当我删除@Autowired时,没有注入bean.