Python 官方文档:入门教程 => 点击学习
@ConfigurationProperties是SpringBoot新加入的注解,主要用于配置文件中的指定键值对映射到一个java实体类上。那么它是怎么发挥作用的呢?下面我们将揭开
@ConfigurationProperties是SpringBoot新加入的注解,主要用于配置文件中的指定键值对映射到一个java实体类上。那么它是怎么发挥作用的呢?下面我们将揭开@ConfigurationProperties的魔法。
ConfigurationPropertiesBindingPostProcessor这个bean后置处理器,就是来处理bean属性的绑定的,这个bean后置处理器后文将称之为properties后置处理器。你需要知道以下几件事:
ioc容器context的enviroment.propertySources记录着系统属性、应用属性以及springboot的默认配置文件application.properties中的配置属性等。properties后置处理器就是从其中找到匹配的配置项绑定到bean的属性上去的。
属性绑定是有覆盖性的,操作系统环境变量可以覆盖配置文件application.properties, java系统属性可以覆盖操作系统环境变量。更多的可以参考官网 https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/#boot-features-external-config
重点给大家介绍springboot配置数据源无法读取配置信息的问题及解决方案,具体内容如下:
利用ConfigurationProperties注解配置数据源发现读取的数据库配置信息全部为null。
@Bean(name = "pq")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSourcePq() {
return DataSourceBuilder.create().build();
}
#配置信息
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
#Mysql配置
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/graduate?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
passWord: root
debug过后发现配置文件属性没有读取成功
@Bean(name = "pq")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSourcePq() {
//return DataSourceBuilder.create().build();
return new DruidDataSource();
}
暂时还不清楚,第一次使用这样的方式配置数据源,可能有些细节没有注意到。
以上就是解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题的详细内容,更多关于springboot配置数据源无法读取配置信息的资料请关注编程网其它相关文章!
--结束END--
本文标题: 解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题
本文链接: https://www.lsjlt.com/news/127129.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0