page contents

SpringBoot启动加载yml文件中自定义属性值为空

Pack 发布于 2020-02-26 17:41
阅读 835
收藏 0
分类:Java开发

问题描述

把一些固定的常量值(这些值生产和开发不一样,所有不想放类中)放入yml配置文件中,定义了一个类,专门加载yml中所有的属性,启动时,所有属性加载全为null


问题出现的环境背景及自己尝试过哪些方法

SpringBoot,idea,jdk1.8。 使用Configuration, Component注解加载无效


相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

yml文件如下:

 

attachments-2020-02-I18Ko2TQ5e563cf2e6fa4.png

加载类:

 attachments-2020-02-2BjacTw85e563d00d4e98.png


引用类:

 attachments-2020-02-ANNNhXf05e563d076ba21.png


你期待的结果是什么?实际看到的错误信息又是什么?

期待数据加载ok

实际是:java.lang.NullPointerException: null

希望大家帮助,谢谢!

452
Pack
Pack

楼上回答都不对,兄弟,教你一个不需要@value注解的方法,首先,自定义一个pojo,yml中的属性要和pojo中的属性名一样(属性名不一样,读取不到配置项的值),然后按照下面图片中这样配置,三个注解加在pojo类上面,在使用的地方,用autowired注解把pojo注入进去就可以使用了


attachments-2020-02-o999Q0Kj5e563dbb4771f.jpg

attachments-2020-02-5XejKWhP5e563dc35fb65.jpg

当然了,你肯定要定义三个pojo类 mail virtual xcloud 三个pojo,使用方法,参考如下图片:

attachments-2020-02-XrFR96De5e563dcc30c82.jpg

请先 登录 后评论