¿Por qué la DriverClass falta en la siguiente configuración?
spring.datasource.testdb.url=jdbc:mariadb://localhost/mytable
spring.datasource.testdb.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.testdb.username=test
spring.datasource.testdb.password=test
@Configuration
public class DataSourceConfig {
@ConfigurationProperties(prefix = "spring.datasource.testdb")
@Primary
public DataSource dataSourceTest() {
return DataSourceBuilder.create().build();
}
@Bean
@Primary
public JdbcTemplate jdbcTemplateTest() {
return new JdbcTemplate(dataSourceTest());
}
//secondary db config to follow
}
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
</dependency>
</dependencies>
Resultado:
No se ha podido configurar un origen de datos: atributo 'url' no se especifica ningún origen de datos incrustado y se podría configurar. Motivo: No se pudo determinar una clase de controlador adecuado
Esto es extraño, porque ni siquiera puede entrar en la org.mariadb.jdbc.Driver
clase, por lo que es claramente en la ruta de clase.
Parece que sólo hay que añadir la anotación @Bean a dataSourceTest ().
@Bean
@ConfigurationProperties(prefix = "spring.datasource.testdb")
@Primary
Además, para el conjunto de conexiones Hikari (que es la agrupación de conexiones por defecto), la propiedad url es url-JDBC, no url. Así que el cambio
spring.datasource.testdb.url=jdbc:mariadb://localhost/mytable
a
spring.datasource.testdb.jdbc-url=jdbc:mariadb://localhost/mytable
Para obtener más información y ver otras posibles soluciones: Después de la primavera de arranque 2,0 migración: JDBCURL se requiere con driverClassName
Espero que esto ayude.