java - spring boot spring data jpa多个数据源执行相同的服务
问题描述
我有一个需求,我需要从一个 MySQL DB 表中获取数据,并且这些数据需要从多个 MySQL DB 中获取。所以代码需要相同,只是数据源需要不同。我希望我的应用程序是通用的,以便在需要新数据库的情况下,我们只需将条目放入 application.properties 中,不需要更多的代码更改。我们可以用 for 循环等做一些事情。
我可以通过创建不同的 bean 来进行多个连接,例如:
@Bean(name = "mysqlDb")
@ConfigurationProperties(prefix = "spring.ds_mysql")
public DataSource mysqlDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "mysqlJdbcTemplate")
public JdbcTemplate jdbcTemplate(@Qualifier("mysqlDb") DataSource dsMySQL) {
return new JdbcTemplate(dsMySQL);
}
但是我必须为每个 bean 放置代码,我想忽略这些代码,因为数据源 bean 创建应该是动态的,我只需要将 db 属性放在 application.properties 中。
请让我知道是否有任何方法可以这样做。
解决方案
推荐阅读
- r - 用于在多个对象中选择元素的 R 循环函数
- python - 将所有路径从给定源返回到目的地,而不是打印它们
- excel - 如何在Excel VBA中遍历同一行中的每一列
- c++ - C ++ - 您能否仅从提供类型和名称的宏参数中获取变量名称?
- python - Django 使用 include() 作为 path() 参数
- amazon-cloudformation - cloudformation 更新的试运行
- r - R Plotly在add_text中旋转文本
- r - 通过 Github 下载 R 包
- c++ - 为什么C++标准库总是通过std::initializer_list
按价值而不是按参考? - firebase - 使用自定义令牌发布到 Firestore 导致请求具有无效的身份验证凭据。预期...有效的身份验证凭据