springboot如何使用@ConfigurationProperties封装配置文件
业务场景:
把配置文件的信息,读取并自动封装成实体类,可以使用@ConfigurationProperties,把同类的配置信息自动封装成实体类。
1、在pom.xml中添加依赖包<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>2、创建配置文件(application.properties)
wx.appid = wx111111wx.redirectUri = https://www.baidu.com/wx.templateId = 1wx.first = 模板标题wx.remark = 模板备注wx.color = #000000sms.appid = 111111sms.appkey = bd3bfba026f711eaac3b005056b84de4sms.templateId = 1sms.sign = Jeff3、创建测试类1(WxSettings.java)
package com.jeff.config;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;@Component@ConfigurationProperties(prefix = 'wx')public class WxSettings {private String appid;private String redirectUri;private Integer templateId;private String first;private String remark;private String color;public String getAppid() {return appid;}public void setAppid(String appid) {this.appid = appid;}public String getRedirectUri() {return redirectUri;}public void setRedirectUri(String redirectUri) {this.redirectUri = redirectUri;}public Integer getTemplateId() {return templateId;}public void setTemplateId(Integer templateId) {this.templateId = templateId;}public String getFirst() {return first;}public void setFirst(String first) {this.first = first;}public String getRemark() {return remark;}public void setRemark(String remark) {this.remark = remark;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}@Overridepublic String toString() {return 'WxSettings [appid=' + appid + ', redirectUri=' + redirectUri + ', templateId=' + templateId + ', first='+ first + ', remark=' + remark + ', color=' + color + ']';}}4、创建测试类2(SmsSettings.java)
package com.jeff.config;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;@Component@ConfigurationProperties(prefix = 'sms')public class SmsSettings {private String appid;private String appkey;private Integer templateId;private String sign;public String getAppid() {return appid;}public void setAppid(String appid) {this.appid = appid;}public String getAppkey() {return appkey;}public void setAppkey(String appkey) {this.appkey = appkey;}public Integer getTemplateId() {return templateId;}public void setTemplateId(Integer templateId) {this.templateId = templateId;}public String getSign() {return sign;}public void setSign(String sign) {this.sign = sign;}@Overridepublic String toString() {return 'SmsSettings [appid=' + appid + ', appkey=' + appkey + ', templateId=' + templateId + ', sign=' + sign+ ']';}}5、创建测试类(MyController.java)
package com.jeff.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import com.jeff.config.SmsSettings;import com.jeff.config.WxSettings;@RestControllerpublic class MyController {@Autowiredprivate WxSettings wx;@Autowiredprivate SmsSettings sms;@RequestMapping('myTest')public String myTest() {System.out.println(wx.toString());System.out.println(sms.toString());return 'success';}}6、打开浏览器访问 http://localhost:8080/myTest,控制台输出结果
以上为个人经验,希望能给大家一个参考,也希望大家多多支持好吧啦网。
相关文章: