【发布时间】:2021-10-10 09:28:06
【问题描述】:
我试图确保一个 Spring Boot Starter 在另一个之前加载。在这种情况下,我有一个由我的组织编写的自定义 spring boot 启动器和 spring-boot-starter-data-jpa 启动器。在 spring-boot-starter-data-jpa 初始化之前运行自定义启动器的 bean 至关重要。 pom.xml 中依赖的示例 sn-p:
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>spring-boot-starter-my-customer-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
如何解决这个问题?我目前正在考虑的解决方案是在我公司的自定义启动器中初始化的 bean 顶部添加 @Primary 注释,不确定这是否可行并在此处寻找最佳实践。我试图在加载 spring-boot-starter-jpa 的 bean 之前在自定义启动器中加载的 bean 负责设置代理设置,因此必须首先加载,以便可以通过代理路由到数据库的流量。
【问题讨论】:
-
我认为你在这里混淆了一些东西。依赖/构建系统与 CDI 容器(在本例中为 Spring)加载各种 bean 的方式无关。最重要的是,您的问题并没有真正说明原因以及该 bean 的作用是为了对问题提供更清晰的解释。请尝试添加更多信息。
-
@akortex 感谢您的反馈,我添加了一些有关 bean 功能的上下文。
标签: java spring-boot