Configuring Multiple Data Sources in Spring Boot
In Spring Boot, using multiple data sources allows you to isolate data access management for different entities or applications. To achieve this, the application.properties file and Bean configuration methods are utilized.
application.properties
To add a second data source, specify its parameters in application.properties alongside the primary data source:
#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 Configuration
To make the data sources available to the application, add the following Bean configuration methods to a @Configuration annotated class:
@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(); }
The @Primary annotation designates the primary data source for use by default.
Autowiring Data Sources
To inject the data sources into repositories or services, define a data source bean like so:
@Autowired private DataSource secondaryDataSource;
This example retrieves the secondary data source for use within the annotated class. Similarly, you can autowire the primary data source as needed.
The above is the detailed content of How to Configure Multiple Data Sources in Spring Boot?. For more information, please follow other related articles on the PHP Chinese website!