springboot 配置文件中的属性映射到实体类的属性中

简介: springboot 配置文件中的属性映射到实体类的属性中

公众号merlinsea


将属性的value值以配置文件的形式存在,优点在于可以避免代码中过多的硬编码,方便在实际生产中将配置文件迁移到配置中心nacos上,后续只需要修改配置文件pay.properties就可以修改代码中的内容。


1、编写配置文件pay.properties


核心:以key-value的形式把代码中的硬编码的内容抽取出来


wxpay.appid = 2398439284
wxpay.name = liangin
wxpay.pwd = 123abcd


2、编写配置类,注入配置文件中的属性,并交给spring进行扫描

核心:

1、确定配置文件的路径,一般都是在classpath类路径下

2、交给spring进行扫描


/**
 * @Configuration 标识这个类是一个配置类,Spring会自动扫描这个类,并实例化到IOC容器中
 * @PropertySource({"classpath:pay.properties"}) 指明这个类会用到的配置文件在哪儿
 * @Value("${wxpay.appid}") 从配置文件中取值并赋值给属性
 */
@Configuration
@PropertySource({"classpath:pay.properties"})
public class PayConfiguration {
    @Value("${wxpay.appid}")
    private String appId;
    @Value("${wxpay.name}")
    private String name;
    @Value("${wxpay.pwd}")
    private String pwd;
    public String getAppId() {
        return appId;
    }
    public void setAppId(String appId) {
        this.appId = appId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPwd() {
        return pwd;
    }
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
}


3、controller层的调用

核心:注入配置类,取值

public class UserController {
    @Autowired
    private PayConfiguration payConfiguration;
    @GetMapping("config")
    public Object testConfig(){
        Map<String,String> map = new HashMap<>();
        map.put("appid",payConfiguration.getAppId());
        map.put("appname",payConfiguration.getName());
        map.put("apppwd",payConfiguration.getPwd());
        return map;
    }
}

640.jpg



相关文章
|
3天前
|
JSON Java 数据格式
springboot中表字段映射中设置JSON格式字段映射
springboot中表字段映射中设置JSON格式字段映射
19 1
|
4月前
|
Java Spring
Spring boot 运行服务jar外配置配置文件方式总结
Spring boot 运行服务jar外配置配置文件方式总结
883 0
|
1天前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
17 8
|
8天前
|
Java Spring 容器
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
30 3
|
4月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本节课主要讲解了 Spring Boot 中如何在业务代码中读取相关配置,包括单一配置和多个配置项,在微服务中,这种情况非常常见,往往会有很多其他微服务需要调用,所以封装一个配置类来接收这些配置是个很好的处理方式。除此之外,例如数据库相关的连接参数等等,也可以放到一个配置类中,其他遇到类似的场景,都可以这么处理。最后介绍了开发环境和生产环境配置的快速切换方式,省去了项目部署时,诸多配置信息的修改。
|
19天前
|
druid Java Maven
|
27天前
|
Java 测试技术 Spring
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
这篇文章介绍了Spring Boot中配置文件的语法、如何读取配置文件以及如何通过静态工具类读取配置文件。
38 0
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
|
10天前
|
JavaScript 前端开发 Java
SpringBoot_web开发-webjars&静态资源映射规则
https://www.91chuli.com/ 举例:jquery前端框架
12 0
|
10天前
|
关系型数据库 MySQL Java
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
20 0
|
28天前
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
290 0