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 - 程序逻辑错误

java - Spring框架如何 Autowiring 一个集合

java - SpringBoot客户端中使用WebServiceTemplate调用SOAP Web服务

java - 如何解决AWS Elastic Beanstalk中的SMTP连接超时异常?

java - 如何使用 spring boot 抑制 url 编码

java - 将范围更改为运行时后依赖性消失

java - 调用父类(super class)方法而不是子类方法

java - JComboBox 具有 4 列和 4 行数据[][] 形式

java - 根据权限限制对某些页面的访问

java - Apache Camel从cxfrs到activemq队列的路由问题