Dans les applications Spring Boot, il est possible de configurer et d'utiliser plusieurs sources de données. Cette flexibilité permet aux développeurs de gérer les données de différentes bases de données ou d'effectuer des opérations spécifiques basées sur la source de données. Voici un exemple pour démontrer la configuration et l'utilisation :
Ajoutez les propriétés suivantes à votre fichier 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
Dans une classe annotée avec @Configuration, définissez des méthodes pour créer et configurer chaque source de données comme beans :
@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(); }
Pour câbler automatiquement la source de données principale d'un référentiel :
@Repository public class UserRepository { @Autowired private EntityManager entityManager; // ... }
Pour câbler automatiquement la source de données secondaire pour un référentiel différent :
@Repository public class OrderRepository { @Autowired @Qualifier("secondaryDataSource") private EntityManager entityManager; // ... }
En ajoutant @Qualifier("secondaryDataSource") au champ EntityManager, Spring injectera la source de données secondaire au lieu de le principal.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!