весенний загрузочный исходный код для создания источника данных - PullRequest
3 голосов
/ 02 апреля 2019

Я пытаюсь просмотреть источники с пружинной загрузкой, чтобы получить больше уверенности в его внутренней работе.

Например:
Когда вы используете следующие свойства:

spring.datasource.url=jdbc:h2:./data/test
spring.datasource.username=sa
spring.datasource.password=as

spring boot попытается угадать нужный драйвер jdbc, проанализировав свойство spring.datasource.url и найдя в classpath нужный драйвер.

Мы можем вывести это поведение, прочитав документацию Spring:

Зачастую вам не нужно указывать имя класса драйвера, поскольку Spring Boot может вывести его для большинства баз данных по URL.

Для создания пула DataSource нам нужноВ состоянии проверить, что доступен действующий класс Driver, поэтому мы проверяем это перед тем, как что-либо делать.Другими словами, если вы устанавливаете spring.datasource.driver-class-name = com.mysql.jdbc.Driver, то этот класс должен быть загружаемым.

Я думаю, что код, ответственный за это, может быть найден где-то около здесь .

Но, похоже, я не могу его найти.

Можете ли вы помочь мне пролить свет на это?

1 Ответ

3 голосов
/ 02 апреля 2019

Имя класса драйвера JDBC определяется константами в DatabaseDriver enum .Посмотрите, как это перечисление используется, чтобы понять, где анализируется свойство URL источника данных, например, в DataSourceConfiguration вы найдете:

DatabaseDriver databaseDriver = DatabaseDriver
                .fromJdbcUrl(properties.determineUrl());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...