Некоторые из наших микросервисов должны подключаться к нескольким базам данных.Мои конфиг-классы для репозиториев выглядят очень похоже.Это не много кода, но это очень шаблонно.От 2 до 3 раз на микросервис, и на многих микросервисах получается больше повторений, чем хотелось бы.Есть ли более сухой подход?Мне бы понравилась пользовательская аннотация, которая может взять несколько деталей, а затем подключить все нужные мне бобы.Но не уверен, что есть лучшее решение.
@Configuration
@EnableJpaRepositories(
basePackageClasses = SomeRepository.class,
entityManagerFactoryRef = "someEntityManagerFactory",
transactionManagerRef = "someTransactionManager"
)
@EnableTransactionManagement
public class SomeDbConfig {
@Bean(name = "someDataSource")
public DataSource dataSource(DbProperties dbProperties) {
...
}
@Bean(name = "someEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
EntityManagerFactoryBuilder builder,
@Qualifier("someDataSource") DataSource dataSource) {
...
}
@Bean(name = "someTransactionManager")
public PlatformTransactionManager transactionManager(
@Qualifier("someEntityManagerFactory") EntityManagerFactory entityManagerFactory
) {
return new JpaTransactionManager(entityManagerFactory);
}
}