繁体   English   中英

Spring-Boot多个数据库目标依赖项

[英]Spring-Boot multiple db target dependencies

Boot是否具有“社区/春季”批准的方法,以针对同一项目具有不同的数据源目标?

我是否应该在项目依赖项中同时包含两个连接器(H2和Mysql),并且只需在application.yml更改jdbc url?

我们将tomcat实例切换到Boot项目,这是提供jdbc jar的旧习惯。 我想知道启动胖子/ war exec是否仍然支持或需要此功能。

如果我正确理解了您的问题,可能会遇到两种情况。

首先是在项目中一次使用两个数据源的地方(例如,同时从H2和MySQL中获取数据,或者一次又一次地获取数据)。

第二种情况是使用两个数据源但一次不使用时,例如:H2用于测试/调试项目构建,MySQL用于生产。 另一个子场景是,例如,您需要类似主/辅助数据源的东西。

第一种情况的解决方案是添加两个依赖项,为数据库禁用启动自动配置(自动配置不适用于多个数据源),并手动配置单独的EntityManager等(更多信息,请参见: https : //docs.spring.io/spring- boot / docs / current / reference / html / howto-data-access.html#howto-use-two-entity-managers

抱歉,我无法提供任何代码示例,但无法在家中访问我的工作仓库。

转到第二种情况,您可以使用配置文件。 您必须为该配置文件创建单独的配置文件和application-something.yml文件。 在内部配置第二个数据源,然后在依赖关系中,也可以使第二个数据库依赖关系也仅添加具有特定配置文件的内容-但这里不是100%肯定的,我不记得我们在工作中是如何做到的; d。

再说一次,我不能粘贴任何示例,但是这里有一些帮助: Profiles特定于Profile的配置文件

然后有一个我前面提到的子场景。 将数据源标记为@Primary但在这里我从未使用过,我只知道它存在: 链接

Edit2:经过重新考虑后,我认为这是使用Boot和活动配置文件的方法: Spring Boot Maven插件

很抱歉收到大量垃圾邮件,并重新考虑。 当然,这很令人困惑。

希望能有所帮助,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM