我找到了一些答案:https://stackoverflow.com/a/21218921/2754014关于依赖注入(inject)。没有像 @Autowired
这样的注释, @Inject
或 @Resource
.假设此示例没有任何 XML 配置 TwoInjectionStyles
bean(除了简单的 <context:component-scan base-package="com.example" />
。
不指定注解注入(inject)是否正确?
最佳答案
从 Spring 4.3 开始,构造函数注入(inject)不再需要注解。
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
来进行 setter 注入(inject)。我刚才检查了 Spring Boot 1.5.7
(使用 Spring 4.3.11
),当我删除 @Autowired
时,bean 没有被注入(inject).
关于java - 没有 Autowiring 注释的Spring注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46523305/