springboot如何使用@ConfigurationProperties封装配置文件

 更新时间:2021年08月11日 10:26:20   作者:知识追求者  
springboot如何使用@ConfigurationProperties封装配置文件的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用@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 = 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,控制台输出结果

在这里插入图片描述

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot高并发下控制限流的几种实现方法

    SpringBoot高并发下控制限流的几种实现方法

    随着业务的发展,高并发成为很多系统不得不面对的问题,限流作为一种常用的技术手段,可以帮助我们有效地控制请求的流量,避免系统因过载而崩溃,本文将介绍在Spring Boot应用中实现限流的几种方法,需要的朋友可以参考下
    2024-06-06
  • 使用注解@Validated效验VO参数是否合规

    使用注解@Validated效验VO参数是否合规

    这篇文章主要为大家介绍了使用注解@Validated效验VO参数是否合规过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Spring Boot打war包的实例教程

    Spring Boot打war包的实例教程

    本篇文章主要介绍了Spring Boot打war包的实例教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • SpringCloud Config配置加密解密用法解析

    SpringCloud Config配置加密解密用法解析

    这篇文章主要介绍了SpringCloud Config配置加密解密用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • spring多数据源配置实现方法实例分析

    spring多数据源配置实现方法实例分析

    这篇文章主要介绍了spring多数据源配置实现方法,结合实例形式分析了spring多数据源配置相关操作技巧与使用注意事项,需要的朋友可以参考下
    2019-12-12
  • 深入理解Java设计模式之建造者模式

    深入理解Java设计模式之建造者模式

    这篇文章主要介绍了JAVA设计模式之建造者模式的的相关资料,文中示例代码非常详细,供X大家参考和学习,感兴趣的朋友可以了解下
    2021-11-11
  • Spring事务事件监控的实现

    Spring事务事件监控的实现

    这篇文章主要介绍了Spring事务事件监控的实现。本文首先会使用实例进行讲解Spring事务事件是如何使用的,然后会讲解这种使用方式的实现原理。感兴趣的小伙伴们可以参考一下
    2018-10-10
  • IDEA 当前在线人数和历史访问量的示例代码

    IDEA 当前在线人数和历史访问量的示例代码

    这篇文章主要介绍了IDEA 当前在线人数和历史访问量的实例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • spring boot中使用RabbitMQ routing路由详解

    spring boot中使用RabbitMQ routing路由详解

    本篇文章主要介绍了spring boot中使用RabbitMQ routing路由详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 详解java中spring里的三大拦截器

    详解java中spring里的三大拦截器

    在本篇文章里我们给大家详细讲述了java中spring里的三大拦截器相关知识点以及用法代码,需要的朋友们学习下。
    2018-10-10

最新评论