我正在尝试这个官方Spring教程中的示例,并且对此代码有依赖性:https :
//github.com/spring-guides/gs-async-method/tree/master/complete
如果您看一下AppRunner.java
课堂上的代码,我有两个问题:
- 服务器启动时,如果我在此类的构造函数中放置一个断点,则看起来像在构造函数中,
GitHubLookupService
是由spring提供的,使用@Service
配置bean。但是,@Autowired
构造函数上没有注释,那么在世界上该构造函数如何以正确的依赖关系进行调用?应该是null
。
这是Spring Boot的自动假设吗?
Spring是否看到“私有字段+构造函数参数”,并且假定它应该寻找合适的bean?
是Spring Framework还是Spring boot?
我缺少什么了吗?
- 如我所记得,必须为bean /服务等提供默认构造函数。为什么此类(
AppRunner
)没有默认构造函数?Spring如何知道应该使用参数运行构造函数?是因为它是唯一的构造函数吗?