在Spring Boot Application中使用@ConfigurationProperties不起作用

时间:2016-10-20 04:07:22

标签: spring-boot properties configuration

我将Spring Boot V 1.4.1用于新应用程序。 我的应用程序需要两个JDBC数据源,我在http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-two-datasources跟随示例如何设置它。 我的Spring bean配置类用@EnableConfigurationProperties注释,我的第一个bean定义为

@Primary
@Bean
@ConfigurationProperties(prefix = "first.database")
DataSource qivsDB() {
    return DataSourceBuilder.create().build();
}

,第二个相应的。我的application.properties文件的属性定义为

first.database.url=jdbc:[redacted]
first.database.username=[redacted]
first.database.password=[redacted]

由于我在调试期间对我不透明的原因导致无法初始化:Cannot determine embedded database driver class for database type NONE - debug向我显示构建器在调用build()时没有设置任何属性。

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

在执行所有调试部分之前,您应该查看自动配置报告。如果您定义自己的DataSource,那么Spring Boot没有理由开始考虑它可以为您的应用做些什么。因此,由于某些原因,您的应用程序的定义未应用于您的应用程序,并且Spring Boot中的默认设置仍然适用,在默认命名空间中找不到任何JDBC URL并尝试启动嵌入式数据库。您应该在自动配置报告中看到DataSourceAutoConfiguration仍然匹配。

我不确定public关键字与它有什么关系,但由于我们只扫描公共方法,因此您无法获得该关键字的自定义元数据。