SpringBoot application.properties 无法加载问题定位技巧

项目场景:

SpringBoot 早上启动发现配置无法加载


问题描述

 今天在使用SpringBoot的时候,发现配置总是无法加载,启动又不报错


原因分析:

其实可以通过一个一些技巧来定位问题

在使用@ConfigurationProperties的时候,其实里面是有些附加属性可以设置,其中一个就是ignoreUnknownFields 这个属性设置为false,当配置了非法属性的时候,Spring boot就会启动失败

//只有这个组件是容器中的组件,才能使用容器提供的@ConfigurationProperties功能
//@ConfigurationProperties告诉springboot将本类中的所有属性和配置文件中相关的配置进行绑定
//prefix表示与配置文件中哪个下面的所有属性进行映射
@Component
//prefix里面的配置只能小写
@ConfigurationProperties(prefix ="userpo", ignoreUnknownFields = false)
public class UserPo {
}

 显示报错如下,例如我的例子,我配置的时候删除了字段的get和set方法,导致无法注入,可以通过恢复get和set方法的方式来解决问题

Description:

Binding to target [Bindable@6815c5f2 type = com.lpx.study.testmaven.config.UserPo, value = 'provided', annotations = array<Annotation>[@org.springframework.boot.context.properties.ConfigurationProperties(ignoreInvalidFields=false, ignoreUnknownFields=false, prefix=userpo, value=userpo)]] failed:

    Property: userpo.son.name1
    Value: wangwu
    Origin: class path resource [application.properties]:4:18
    Reason: The elements [userpo.son.name1] were left unbound.

Action:

Update your application's configuration


解决方案:

 通过增加get 和set 方法接解决此问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值