@Configuration
public class ApplicationConfig {
private DataSource dataSource;
@Autowired
public ApplicationConfig(DataSource dataSource) {
this.dataSource = dataSource;
}
@Bean(name="clientRepository")
ClientRepository jpaClientRepository() {
return new JpaClientRepository();
}
}
我刚刚发现了一个Core Spring 4.2认证模拟考试,关于这个课程,它说"Default or no-arg constructor is mandatory."
我在我做的测试中尝试了这个类,它没有Default或no-arg构造函数(?)就完美地运行了,所以我认为不需要Default或no-arg构造函数
答案 0 :(得分:5)
如果您的Spring版本是< = 4.2,则该语句为真。但是对于Spring> = 4.3,允许有@Configuration
类而没有no-args构造函数。
另请参阅参考指南中的Core Container Improvements部分。它已在Spring 4.3 RC1中以问题SPR-13471实现。
专家提示:如果您只有一个构造函数,则不再需要构造函数@Autowired
。 (见SPR-12278))。