首页 > 解决方案 > 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 中。

请让我知道是否有任何方法可以这样做。

标签: javaspringspring-bootspring-data-jpa

解决方案


推荐阅读