返回顶部
首页 > 资讯 > 精选 >如何解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题
  • 233
分享到

如何解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题

2023-06-15 07:06:04 233人浏览 八月长安
摘要

小编给大家分享一下如何解决SpringBoot利用ConfigurationProperties注解配置数据源无法读取配置信息问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起

小编给大家分享一下如何解决SpringBoot利用ConfigurationProperties注解配置数据源无法读取配置信息问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

@ConfigurationProperties是springboot新加入的注解,主要用于配置文件中的指定键值对映射到一个java实体类上。那么它是怎么发挥作用的呢?下面我们将揭开@ConfigurationProperties的魔法。

ConfigurationPropertiesBindingPostProcessor这个bean后置处理器,就是来处理bean属性的绑定的,这个bean后置处理器后文将称之为properties后置处理器。你需要知道以下几件事:

ioc容器context的enviroment.propertySources记录着系统属性、应用属性以及springboot的默认配置文件application.properties中的配置属性等。properties后置处理器就是从其中找到匹配的配置项绑定到bean的属性上去的。
属性绑定是有覆盖性的,操作系统环境变量可以覆盖配置文件application.properties, java系统属性可以覆盖操作系统环境变量。

重点给大家介绍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过后发现配置文件属性没有读取成功

如何解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题

解决方法:

@Bean(name = "pq")    @ConfigurationProperties(prefix = "spring.datasource")    public DataSource dataSourcePq() {        //return DataSourceBuilder.create().build();        return new DruidDataSource();    }

出现问题原因:

暂时还不清楚,第一次使用这样的方式配置数据源,可能有些细节没有注意到。

以上是“如何解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题

本文链接: https://lsjlt.com/news/278533.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作