SpringBootで複数のデータソースを設定する方法は何ですか?

SpringBootで複数のデータソースを設定する方法は以下の通りです。

1、例えば、application.propertiesやapplication.ymlファイルにデータソース情報を設定します。

# 第一个数据源
spring.datasource.url=jdbc:mysql://localhost:3306/db1
spring.datasource.username=user1
spring.datasource.password=password1
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# 第二个数据源
custom.datasource.url=jdbc:mysql://localhost:3306/db2
custom.datasource.username=user2
custom.datasource.password=password2
custom.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

2、2つのデータソースの設定クラスを作成し、@Configurationと@Beanアノテーションを使用してそれぞれ設定します。例えば:

@Configuration
public class DataSourceConfig {

    @Primary
    @Bean(name = "dataSource")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "customDataSource")
    @ConfigurationProperties(prefix = "custom.datasource")
    public DataSource customDataSource() {
        return DataSourceBuilder.create().build();
    }
}

3、データソースが必要な場所で、@Qualifier注釈を使用してデータソースの名前を指定します。例えば、

@Service
public class UserService {

    @Autowired
    @Qualifier("dataSource")
    private DataSource dataSource;

    @Autowired
    @Qualifier("customDataSource")
    private DataSource customDataSource;
}

SpringBootに複数のデータソースを設定し、必要な場所で特定のデータソースを指定する方法があります。

bannerAds