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

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

В 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 как основной, а остальные — как дополнительные.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее