【发布时间】:2020-03-22 15:47:53
【问题描述】:
我有一个问题。
自 Spring Boot 2.x 起不推荐使用@Autowired 注解。然后我必须使用构造函数。
但在测试期间(JUnit 5)我没有任何警告
问题:
这意味着在测试期间使用@Autowired 是一个很好的做法?
【问题讨论】:
标签: java spring-boot junit5
我有一个问题。
自 Spring Boot 2.x 起不推荐使用@Autowired 注解。然后我必须使用构造函数。
但在测试期间(JUnit 5)我没有任何警告
问题:
这意味着在测试期间使用@Autowired 是一个很好的做法?
【问题讨论】:
标签: java spring-boot junit5
JUnit 和 Spock(实际上基于 JUnit)框架强制测试类只有无参数构造函数。所以它甚至无法实现 - 可能这就是你没有被提示潜在问题的原因。
测试类不能是抽象的,并且必须有一个构造函数。
为article添加更多内容
构造函数自动装配的其他优点:
【讨论】:
字段注入 有几个概念不推荐使用,大部分都与类在其他地方的使用有关,例如可以使用默认(无参数)构造函数实例化类,因此不会创建所有或任何依赖项
你可以阅读更多关于这个here
【讨论】: