Configurando múltiplas fontes de dados no Spring Boot
No Spring Boot, o uso de múltiplas fontes de dados permite isolar o gerenciamento de acesso a dados para diferentes entidades ou aplicações. Para conseguir isso, o arquivo application.properties e os métodos de configuração do Bean são utilizados.
application.properties
Para adicionar uma segunda fonte de dados, especifique seus parâmetros no aplicativo. propriedades ao lado da fonte de dados primária:
#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
Configuração do Bean
Para disponibilizar as fontes de dados para o aplicativo, adicione os seguintes métodos de configuração do Bean a um @ Classe anotada de configuração:
@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(); }
A anotação @Primary designa a fonte de dados primária para uso por padrão.
Autowiring Data Sources
Para injetar as fontes de dados em repositórios ou serviços, defina um bean de fonte de dados assim:
@Autowired private DataSource secondaryDataSource;
Este exemplo recupera a fonte de dados secundária para uso na classe anotada. Da mesma forma, você pode conectar automaticamente a fonte de dados primária conforme necessário.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3