Konfigurieren mehrerer Datenquellen in Spring Boot
In Spring Boot können Sie durch die Verwendung mehrerer Datenquellen die Datenzugriffsverwaltung für verschiedene Entitäten isolieren oder Anwendungen. Um dies zu erreichen, werden die Datei application.properties und Bean-Konfigurationsmethoden verwendet.
application.properties
Um eine zweite Datenquelle hinzuzufügen, geben Sie deren Parameter in der Anwendung an. Eigenschaften neben der primären Datenquelle:
#first db spring.datasource.url = [url] spring.datasource.username = [username] spring.datasource.password = [password] spring.datasource.driverClassName = oracle.jdbc.OracleDriver #second db spring.secondDatasource.url = [url] spring.secondDatasource.username = [username] spring.secondDatasource.password = [password] spring.secondDatasource.driverClassName = oracle.jdbc.OracleDriver
Bean-Konfiguration
Um die Datenquellen für die Anwendung verfügbar zu machen, fügen Sie die folgenden Bean-Konfigurationsmethoden zu einem @ hinzu Annotierte Konfigurationsklasse:
@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(); }
Die @Primary-Annotation gibt die primäre Datenquelle zur standardmäßigen Verwendung an.
Autowiring-Datenquellen
Zum Einfügen der Datenquellen in Repositorys oder Services definieren Sie eine Datenquellen-Bean wie folgt:
@Autowired private DataSource secondaryDataSource;
Dieses Beispiel ruft die sekundäre Datenquelle zur Verwendung innerhalb der mit Anmerkungen versehenen Klasse ab. Ebenso können Sie die primäre Datenquelle nach Bedarf automatisch verknüpfen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3