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.
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3