@ConfigurationProperties(prefix = “****“) Java配置文件给对象赋值,取值为空

您所在的位置:网站首页 configurationproperties注解获取不到 @ConfigurationProperties(prefix = “****“) Java配置文件给对象赋值,取值为空

@ConfigurationProperties(prefix = “****“) Java配置文件给对象赋值,取值为空

2024-06-06 09:11| 来源: 网络整理| 查看: 265

1.配置文件格式

这个注解,对应的配置文件后缀为.ymal(或.yml),不能是.properties。注解添加在对象(类)上 .properties只能单个赋值通过@Value("${}")写在对象(类)的属性上或属性的set()方法上。

2.配置文件的命名规范

使用驼峰命名规范(不能带下划线“_”),而且必须同对象的属性名完全一致。

3.注解添加

需要添加两个注解: @Component @ConfigurationProperties(prefix = “****”)

4.通过Spring的Bean来获取对象

获取对象例:

@Resource private OurWxPayConfig ourWxPayConfig;

不能使用new xxxxxx()来创建对象。得通过Spring容器技术(Bean)获取对象,这也是需要添加@Component的原因

5.被赋值对象注意

1.被赋值的对象属性必须有set()方法,或使用lombok插件添加上@Data注解

2.被赋值的类对象指向不明确可以添加如下注解(不是必要的) @EnableConfigurationProperties(OurWxPayConfig.class)

6.完整案例 1.配置文件application.yml wxpay: appIdentification: "******" machId: "*****" key: "*****" httpConnectTimeoutMs: 0 httpReadTimeoutMs: 0 notifyUrl: "*****" 2.赋值的对象 @Data @Component @ConfigurationProperties(prefix = "wxpay") //@EnableConfigurationProperties(OurWxPayConfig.class) public class OurWxPayConfig implements WXPayConfig { private String appIdentification; private String machId; private String key; private int httpConnectTimeoutMs; private int httpReadTimeoutMs; private String notifyUrl; private String body; } 3.对象的使用 public class WxPayServiceImpl{ @Resource private OurWxPayConfig ourWxPayConfig; //ourWxPayConfig就是已经初始化和赋值后的实例,拿着可以直接使用了。 } 7.感谢阅读

感谢你的阅读,希望对您有点点帮助。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3