[英]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.