Ответ
Нет. Стандартная конфигурация DataSource в Spring Boot через свойства spring.datasource.* поддерживает только один URL подключения к базе данных.
Пример конфигурации (application.properties):
spring.datasource.url=jdbc:postgresql://primary-host:5432/mydb
spring.datasource.username=user
spring.datasource.password=pass
Почему только один URL?
Базовый DataSource предназначен для подключения к одной конкретной инстанции БД. Для работы с несколькими узлами (например, master-replica) требуется дополнительная логика.
Как реализовать подключение к нескольким узлам?
- Использование
AbstractRoutingDataSource: Создание кастомного источника данных для роутинга запросов (например, чтение на реплику, запись на мастер). - Специализированные библиотеки: Например, для PostgreSQL можно использовать
PgBouncerилиpgpool-IIкак прокси, который сам управляет пулом соединений к разным узлам. - Явное создание нескольких
DataSourceбинов: Для разных целей (отдельный бин для чтения, отдельный для записи).
Ключевой вывод: Свойство spring.datasource.url принимает единственную строку подключения. Любая логика балансировки или репликации требует программной реализации поверх стандартного DataSource.