当前位置: 首页 > 知识库问答 >
问题:

如何确保一个Spring启动器先于另一个Spring启动器加载?

鞠嘉志
2023-03-14

我试图确保一个Spring Boot Starter在另一个之前加载。在这种情况下,我有一个由我的组织编写的自定义Spring boot starter和sping-boot-starter-data-jpa starter。在sping-boot-starter-data-jpa初始化之前运行自定义starter的bean至关重要。pom.xml中依赖项的示例片段:

    <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的顶部添加一个@主注释,不确定这是否有效,并在这里寻找最佳实践。在加载sping-boot-starter-jpa的bean之前,我试图在自定义启动器中加载的bean负责设置代理设置,因此必须先加载,以便可以通过代理路由到数据库的流量。

共有1个答案

盖和洽
2023-03-14

不太确定您在这里要实现什么,但是可以使用DependsOn注释来控制bean的创建。

在您的情况下,由于您希望在建立实际数据库连接之前初始化您的自定义bean,我认为将其添加到您的数据库配置类应该就足够了。

 类似资料:
  • 我试图通过按cardview开始另一项活动,cardview有一个朋友查找id。但是当我写回家时。java它给了我setOnClickListener中的问题。在homeActivity中,它告诉我无法解析“homeActivity”中的方法“homeActivity”。因为

  • 在我的程序中,我有一个当应用程序打开时启动的活动。如果我再打开几个活动,我怎么能回到主活动?在意图过滤器中,活动的名称是“android.intent.action.MAIN”,它不允许我在上面调用start Active()。我该怎么办?

  • 问题内容: 我一直在研究Spring / Spring MVC应用程序,并且希望添加性能指标。我遇到过Spring Boot Actuator,它看起来是一个不错的解决方案。但是我的应用程序不是Spring Boot应用程序。我的应用程序在传统容器Tomcat 8中运行。 我添加了以下依赖 我创建了以下配置类。 我什至可以按照StackOverflow另一篇文章的建议在每个配置类上添加 问题答案:

  • 我们有一个公开REST API的现有java应用程序。当它收到超文本传输协议请求时,它使用Runtime.getRuntime(). exe启动另一个java进程。 我们正在将此应用程序迁移到docker,我们希望将这些服务、一个容器中的REST应用程序和另一个容器中的其他组件分开。 有没有办法,REST应用程序可以在另一个docker容器中启动另一个应用程序?

  • 主要内容:1 配置Tomcat服务器的多个实例很多时候,我们遇到需要修改服务器配置以使其适应应用程序的情况。如果我们有多个应用程序,并且希望每个应用程序都有自己定义的配置选项,那么需要怎么配置呢?在本教程中,我将讨论为每个应用程序使用不同的Tomcat实例。 1 配置Tomcat服务器的多个实例 我正在使用Windows机器,您将使用Windows格式的路径。但是创建多个实例的过程在所有其他操作系统中都是相同的。另外,我假设您要创建2个新的t

  • 问题 你想通过脚本启动浏览器并打开指定的URL网页 解决方案 webbrowser 模块能被用来启动一个浏览器,并且与平台无关。例如: >>> import webbrowser >>> webbrowser.open('http://www.python.org') True >>> 它会使用默认浏览器打开指定网页。如果你还想对网页打开方式做更多控制,还可以使用下面这些函数: >>> # Ope