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

java - SpringBoot启动时,若有依赖的jar包也是个Springboot服务,会启动依赖的jar包吗?

燕实
2024-02-20

现在有两个java服务A 和 B, A有自己的端口号如1111, B 也有自己的端口2222。
其中在A中需要连mysql, B也需要使用mysql的服务,两个mysql的地址是不一样的。
现在将A作为依赖引入到B里的maven中。也就是在B服务的pom.xml里加入A的坐标。并在B中写一个方法test,调用A服务的方法,A服务的方法是从数据库中查询数据。
然后启动B,调用test方法

我想问这个时候,

  1. 在B服务启动的时候,A服务的jar包有启动吗?如果没有启动?它怎么初始化数据库连接的,如果启动了,那是不是代表此时服务器上会暴露A服务的端口号1111?
  2. A服务此时使用的数据库地址是B服务里定义的地址还是A服务自己在properties文件里定义的地址?如果A服务此时用的nacos怎么办?

共有1个答案

马魁
2024-02-20
  1. 在B服务启动的时候,A服务的jar包没有启动。Spring Boot 不会自动启动依赖的 jar 包。

A 服务如何初始化数据库连接取决于 A 服务的实现。如果 A 服务在启动时初始化数据库连接,那么它可能是在 A 服务的代码中实现的,而不是由 Spring Boot 自动完成的。

如果 A 服务在 B 服务启动时手动初始化数据库连接,那么它可能会使用 A 服务自己的数据库地址。

  1. A 服务使用的数据库地址取决于 A 服务自己的配置。如果 A 服务使用 Nacos,那么它应该使用自己在 Nacos 中定义的配置。这意味着 A 服务应该使用自己在 properties 文件或 Nacos 中定义的数据库地址,而不是 B 服务中定义的地址。

需要注意的是,如果 A 服务和 B 服务都需要连接到不同的数据库,那么你应该确保它们使用各自的数据库地址和配置,以避免潜在的冲突和错误。

 类似资料:
  • 本文向大家介绍详解springboot解决第三方依赖jar包的问题,包括了详解springboot解决第三方依赖jar包的问题的使用技巧和注意事项,需要的朋友参考一下 公司现在用的是springboot+maven,想要把一些老的项目都改成这种框架。但是一些老的项目中有好多第三方的jar包或者是自己的jar包,maven库上没有。最初的解决方案是一个个的deploy到maven库上,但是遇到太多的

  • 现有一个springboot项目,通过扫描二维码查询信息,比如一棵树,扫描二维码后可以看到他相关的信息。但这个项目不止有树类型,还有道路,某个物品。所以将项目分模块开发,核心模块作为一个jar包,复制提供基础服务如数据导入导出。各类型构建成单独的jar。部署时需要那种类型就加载对应的jar。这样做是为了满足不同客户需求。 尝试: java -Xbootclasspath/a:file:./libs

  • 问题内容: 有没有一种方法可以强制maven(2.0.9)将所有依赖项包含在单个jar文件中? 我有一个构建到单个jar文件中的项目。我希望将依赖项中的类也复制到jar中。 更新:我知道我不能只在jar文件中包含jar文件。我正在寻找一种方法来解压缩指定为依赖项的jar,并将类文件打包到我的jar中。 问题答案: 你可以使用带有描述符的插件来执行此操作。这是我们之一的相关块,它可以完成此任务:

  • 我正在尝试开发一个游戏插件(oldschool runescape)。我正在尝试加入组织。json,以便更容易读取/写入游戏状态和内容,但似乎不知道如何将其发送到package org。json和我的插件。它可以很好地编译,但不能与该包一起运行。有什么帮助吗? 这就是我的插件。格雷德尔。kts看起来像 编辑:我尝试了compileOnly、implementation、testImplementa

  • 我正在开发一个Java项目,使用maven作为依赖项管理器/构建工具。我当前在将依赖项的依赖项解析到正确版本时遇到问题。 有问题的依赖项称为JasperReports-Functions-6.1.0.jar,它不是托管在maven repo中,而是以jar形式提供的。 如何强制jar依赖项使用子依赖项的某个版本?

  • 我想使用第三方供应商的jar。但是在这个jar中,我有Java包的旧版本我需要找到一些方法将包从主项目中排除。像这样的东西: 你能推荐一些解决方案吗?