Spring boot 在Spring Boot应用程序中使用@ConfigurationProperties不会';行不通

Spring boot 在Spring Boot应用程序中使用@ConfigurationProperties不会';行不通,spring-boot,properties,configuration,Spring Boot,Properties,Configuration,我正在为一个新的应用程序使用SpringBootV1.4.1。 我的应用程序需要两个JDBC数据源,我正在按照示例介绍如何设置它。 我的SpringBeans配置类用@EnableConfigurationProperties注释,我的第一个bean定义为 @Primary @Bean @ConfigurationProperties(prefix = "first.database") DataSource qivsDB() { return DataSourceBuilder.cre

我正在为一个新的应用程序使用SpringBootV1.4.1。 我的应用程序需要两个JDBC数据源,我正在按照示例介绍如何设置它。 我的SpringBeans配置类用
@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]
由于调试期间对我不透明的原因,这无法初始化:
无法确定数据库类型的嵌入式数据库驱动程序类NONE
-调试向我显示,在调用
build()
时,生成器未设置任何属性


我错过了什么

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


我不确定
public
关键字是否与此有关,尽管您不会获得该关键字的自定义元数据,因为我们只扫描公共方法。

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


我不确定
public
关键字是否与此有关,尽管您不会获得该键的自定义元数据,因为我们只扫描公共方法。

可能是因为在givsDB bean声明找到解决方案之前缺少了公共修饰符?我得到了同样的问题可能是关于在givsDB bean声明找到解决方案之前缺少公共修饰符?我得到了同样的问题