ホームページ > Java > &#&チュートリアル > Spring Boot で複数のデータ ソースを構成して使用する方法は?

Spring Boot で複数のデータ ソースを構成して使用する方法は?

Mary-Kate Olsen
リリース: 2024-12-18 18:36:14
オリジナル
623 人が閲覧しました

How to Configure and Use Multiple Data Sources in Spring Boot?

Spring Boot での複数のデータ ソースの構成と使用

Spring Boot アプリケーションでは、複数のデータ ソースを構成して利用することができます。この柔軟性により、開発者はさまざまなデータベースからのデータを管理したり、データ ソースに基づいて特定の操作を実行したりできます。構成と使用法を示す例を次に示します。

アプリケーション プロパティとデータ ソース

次のプロパティを application.properties ファイルに追加します。

# First Data Source
spring.datasource.url=[URL]
spring.datasource.username=[USERNAME]
spring.datasource.password=[PASSWORD]
spring.datasource.driverClassName=oracle.jdbc.OracleDriver

# Second Data Source
spring.secondDatasource.url=[URL]
spring.secondDatasource.username=[USERNAME]
spring.secondDatasource.password=[PASSWORD]
spring.secondDatasource.driverClassName=oracle.jdbc.OracleDriver
ログイン後にコピー

Bean Configuration

@Configuration アノテーションが付けられたクラスで、各データ ソースを作成および構成するメソッドを次のように定義します。 Bean:

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

@Bean
@ConfigurationProperties(prefix="spring.secondDatasource")
public DataSource secondaryDataSource() {
    return DataSourceBuilder.create().build();
}
ログイン後にコピー

オートワイヤリングと使用法

リポジトリのプライマリ データ ソースをオートワイヤリングするには:

@Repository
public class UserRepository {
    @Autowired
    private EntityManager entityManager;
    // ...
}
ログイン後にコピー

別のリポジトリのセカンダリ データ ソースをオートワイヤリングするには:

@Repository
public class OrderRepository {
    @Autowired
    @Qualifier("secondaryDataSource")
    private EntityManager entityManager;
    // ...
}
ログイン後にコピー

@Qualifier("secondaryDataSource") を追加することによりEntityManager フィールドに Spring がプライマリ データ ソースの代わりにセカンダリ データ ソースを挿入します。

以上がSpring Boot で複数のデータ ソースを構成して使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート