Spring Boot
September 9, 2021
M04 Q20 How are DataSource and JdbcTemplate autoconfigured?
DataSource
and JdbcTemplate
are configured by Auto Configuration Classes defined in spring-boot-autoconfigure
module.
DataSource
is configured by DataSourceAutoConfiguration
, JdbcTemplate
is configured by JdbcTemplateAutoConfiguration
. DataSourceAutoConfiguration
requires some properties to be defined, example below shows MySQL configuration:
spring.datasource.url=jdbc:mysql://localhost:3306/spring-tutorial spring.datasource.username=spring-tutorial spring.datasource.password=spring-tutorial
Above properties will be injected into DataSourceProperties
by the prefix spring.datasource
and used by DataSourceAutoConfiguration
.
After having Auto Configuration enabled by default in Spring Boot, configured properties and Database Connector on your classpath, you can just use @Autowire
to inject DataSource
or JdbcTemplate
.