java - Spring Boot中bean的创建顺序

标签 java spring spring-boot

我正在开发一个 Spring Boot 应用程序,我正在尝试验证启动时创建某些 bean 的顺序。据我通过调试得知,这就是正在发生的事情:

  1. 在我的 Configuration 类中定义的 Bean 已初始化。
  2. 自动配置类中定义的 Bean 已初始化。
  3. @Component 注解的类已初始化。

步骤 1 和 2 对我来说很有意义,因为这符合 auto configuration 上的 Spring Boot 文档.

我不明白的是 @Component 带注释的类是否是故意最后初始化的,或者这只是一个巧合。我不想依赖它作为“功能”,因为它根本不是。

最佳答案

我认为一般来说,什么时候创建什么bean不应该让你担心。您将观察到,在其构造函数中依赖于其他 bean 依赖项的 Bean 将在其依赖项之后创建,但仅此而已。

您的逻辑不应依赖除此之外的任何模式或行为。您可能确实找到了一种模式,但行为将来可能会改变,尽管我不知道这种情况发生的可能性有多大。

关于java - Spring Boot中bean的创建顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39989144/

相关文章:

java - 如何(或者你应该)避免 jsf 中的长方法/类

java - Spring MVC + MongoDB

java - 哪个版本的 Javers 与 spring boot 1.0.1.RELEASE 兼容

java - 部署应用程序时的Weblogic Guava问题

java - Java 从 6.21 更新到 6.31 后,应用程序无法正常工作

java - Spring集成邮件入站 channel

java - RestTemplate 调用,其中函数的参数是 MultipartHttpServletRequest 请求

java - 可缓存注解有什么用

java - 初始化服务时URI不是绝对的

java - Spring 模块和 Spring 启动器模块之间的区别