我正在开发一个 Spring Boot 应用程序,我正在尝试验证启动时创建某些 bean 的顺序。据我通过调试得知,这就是正在发生的事情:
- 在我的
Configuration
类中定义的 Bean 已初始化。 - 自动配置类中定义的 Bean 已初始化。
- 用
@Component
注解的类已初始化。
步骤 1 和 2 对我来说很有意义,因为这符合 auto configuration 上的 Spring Boot 文档.
我不明白的是 @Component
带注释的类是否是故意最后初始化的,或者这只是一个巧合。我不想依赖它作为“功能”,因为它根本不是。
最佳答案
我认为一般来说,什么时候创建什么bean不应该让你担心。您将观察到,在其构造函数中依赖于其他 bean 依赖项的 Bean 将在其依赖项之后创建,但仅此而已。
您的逻辑不应依赖除此之外的任何模式或行为。您可能确实找到了一种模式,但行为将来可能会改变,尽管我不知道这种情况发生的可能性有多大。
关于java - Spring Boot中bean的创建顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39989144/