Sobes.tech
Назад к вопросам
Junior — Middle
56

Как настроить выбор основной базы данных в приложении с несколькими источниками данных на Spring Boot?

Компании, где спрашивали
SimbirsoftSimbirsoft

Ответ от нейросети

sobes.tech AI

В Spring Boot для работы с несколькими источниками данных и выбора основной базы данных обычно делают следующее:

  1. Определяют несколько DataSource бинов с разными настройками подключения.
  2. Используют аннотации @Primary для указания основного источника данных.
  3. При необходимости создают отдельные EntityManagerFactory и TransactionManager для каждого источника.

Пример конфигурации с двумя источниками данных, где один помечен как основной:

@Configuration
public class DataSourceConfig {

    @Bean
    @Primary
    @ConfigurationProperties(prefix = "spring.datasource.primary")
    public DataSource primaryDataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.secondary")
    public DataSource secondaryDataSource() {
        return DataSourceBuilder.create().build();
    }

    // Можно добавить EntityManagerFactory и TransactionManager для каждого DataSource
}

В application.properties или application.yml указываются параметры подключения для каждого источника с разными префиксами.

Таким образом, Spring Boot будет использовать primaryDataSource как основной, а остальные — как дополнительные.