diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DataSourceBuilder.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DataSourceBuilder.java index f21da930eff..be44f8d515b 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DataSourceBuilder.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DataSourceBuilder.java @@ -87,6 +87,7 @@ public final class DataSourceBuilder { private void bind(DataSource result) { ConfigurationPropertySource source = new MapConfigurationPropertySource(this.properties); ConfigurationPropertyNameAliases aliases = new ConfigurationPropertyNameAliases(); + aliases.addAliases("driver-class-name", "driver-class"); aliases.addAliases("url", "jdbc-url"); aliases.addAliases("username", "user"); Binder binder = new Binder(source.withAliases(aliases)); diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DataSourceBuilderTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DataSourceBuilderTests.java index 2fe86678688..b9d0fb1dab4 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DataSourceBuilderTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DataSourceBuilderTests.java @@ -26,9 +26,12 @@ import javax.sql.DataSource; import com.zaxxer.hikari.HikariDataSource; import org.apache.commons.dbcp2.BasicDataSource; +import org.h2.Driver; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.springframework.jdbc.datasource.SimpleDriverDataSource; + import static org.assertj.core.api.Assertions.assertThat; /** @@ -74,6 +77,14 @@ class DataSourceBuilderTests { assertThat(hikariDataSource).isInstanceOf(HikariDataSource.class); } + @Test + void dataSourceCanBeCreatedWithSimpleDriverDataSource() { + this.dataSource = DataSourceBuilder.create().url("jdbc:h2:test").type(SimpleDriverDataSource.class).build(); + assertThat(this.dataSource).isInstanceOf(SimpleDriverDataSource.class); + assertThat(((SimpleDriverDataSource) this.dataSource).getUrl()).isEqualTo("jdbc:h2:test"); + assertThat(((SimpleDriverDataSource) this.dataSource).getDriver()).isInstanceOf(Driver.class); + } + final class HidePackagesClassLoader extends URLClassLoader { private final String[] hiddenPackages;