我将我的数据源的Spring启动配置切换为使用SimpleDriverDataSource类型,但是一旦我这样做,我就会收到关于&#34的错误;驱动程序不能为空"
@Bean
@ConfigurationProperties("datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().type(SimpleDriverDataSource.class).build();
}
如果我删除对.type(SimpleDriverDataSource.class)的调用,那么它再次正常工作。
我是否需要以某种方式更改我的属性名称?
datasource.url=jdbc:blah blah blah
datasource.driverClassName=blah blah
我确实尝试过datasource.driver,但这并没有改变任何东西。
答案 0 :(得分:1)
如果打开SimpleDriverDataSource类,您将看到您有setDriverClass()方法。因此,您需要将配置更改为datasource.driverClass
以使用能够创建驱动程序属性。
或者你可以像这样创建你的bean:
@Bean
public DataSource dataSource() {
Driver driver = new org.postgresql.Driver();
return new SimpleDriverDataSource(driver,
"url",
"user",
"pass");
}
答案 1 :(得分:0)
在使用AC_COMPILE_IFELSE
时,我对于未填充的DataSource
值也有些麻烦。对我来说,下面的灵魂奏效了:
DataSourceBuilder
只需将@Bean
@ConfigurationProperties("datasource")
public DataSourceProperties developerPortalDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
public DataSource developerPortalDataSource(DataSourceProperties properties) {
return properties.initializeDataSourceBuilder().type(HikariDataSource.class).build();
}
替换为您使用的DataSource实现。希望对您有所帮助。