配置类中的Spring MVC Default或no-arg构造函数

Nuñ*_*ada 3 java spring spring-mvc spring-boot

@Configuration
public class ApplicationConfig {

   private DataSource dataSource;

  @Autowired
  public ApplicationConfig(DataSource dataSource) {
    this.dataSource = dataSource;
  }

  @Bean(name="clientRepository")
  ClientRepository jpaClientRepository() {
    return new JpaClientRepository();
   }
}
Run Code Online (Sandbox Code Playgroud)

我刚刚发现了一个Core Spring 4.2认证模拟考试并且关于这个课程它说"Default or no-arg constructor is mandatory."
我在我做的测试中尝试了这个类,并且它没有默认或无参数构造函数(?)而完美地工作,所以我认为不需要默认或无参数构造函数

M. *_*num 5

如果您的Spring版本<= 4.2,则该语句为真.但是对于Spring> = 4.3,允许有一个@Configuration没有no-args构造函数的类.

另请参阅参考指南中的核心容器改进部分.它已在Spring 4.3 RC1中的SPR-13471中实现.

专业提示:如果您只有一个构造函数,则不再需要@Autowired构造函数.(见SPR-12278).