springboot使用@ConfigurationProperties封装配置文件分析

java哥 阅读:298 2021-04-01 11:29:29 评论:0

业务场景:
把配置文件的信息,读取并自动封装成实体类,可以使用@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 = wx111111 
wx.redirectUri = https://www.baidu.com/ 
wx.templateId = 1 
wx.first = 模板标题 
wx.remark = 模板备注 
wx.color = #000000 
 
sms.appid = 111111 
sms.appkey = bd3bfba026f711eaac3b005056b84de4 
sms.templateId = 1 
sms.sign = Jeff 

3、创建测试类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; 
	} 
 
	@Override 
	public 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; 
	} 
 
	@Override 
	public 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; 
 
@RestController 
public class MyController {
    
 
	@Autowired 
	private WxSettings wx; 
	@Autowired 
	private SmsSettings sms; 
 
	@RequestMapping("myTest") 
	public String myTest() {
    
		System.out.println(wx.toString()); 
		System.out.println(sms.toString()); 
		return "success"; 
	} 
 
} 
 

6、打开浏览器访问 http://localhost:8080/myTest,控制台输出结果
在这里插入图片描述
在这里插入图片描述

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
KIKK导航

KIKK导航

排行榜
关注我们

一个IT知识分享的公众号