zoukankan      html  css  js  c++  java
  • SpringBoot注解配置文件映射属性和实体类

    配置文件加载

    方式一

    • Controller上面配置@PropertySource({"classpath:pay.properties"})
    • 添加属性@Value("wxpay.appid") private String payAppid;

    pay.properties

    # 微信支付的appid
    wxpay.appid=w23232323
    # 支付密钥
    wxpay.sercret=abd
    # 微信支付商户号
    wx.mechid=1234

    TestController.java

    package net.cyb.demo.controller;
    
    import net.cyb.demo.utils.JsonData;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.PropertySource;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.HashMap;
    import java.util.Map;
    
    @RestController
    @RequestMapping("/api/v1/test")
    @PropertySource({"classpath:pay.properties"})
    public class TestController {
        @Value("wxpay.appid")
        private String payAppid;
        @Value("wxpay.sercret")
        private String paySecret;
        @GetMapping("get_config")
        public JsonData testConfig(){
            Map<String,String> map=new HashMap<>();
            map.put("appid",payAppid);
            map.put("secret",paySecret);
            return JsonData.buildSuccess(map);
        }
    }

    方式二

    • 添加@Component注解
    • 使用PropertySource注解指定配置文件位置
    • 使用@ConfigurationProperties注解,设置相关属性
    • 必须通过注入IOC对象Resource进来,才能在类中使用获取的配置文件值。@Autowired private WXConfig wxConfig;

    pay.properties

    # 微信支付的appid
    wxpay.appid=w23232323
    # 支付密钥
    wxpay.sercret=abd
    # 微信支付商户号
    wx.mechid=1234

    WXConfig.java

    package net.cyb.demo.config;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    import java.io.Serializable;
    
    @Configuration
    @PropertySource({"classpath:pay.properties"})
    public class WXConfig implements Serializable {
        @Value("wxpay.appid")
        private String payAppid;
        @Value("wxpay.sercret")
        private String paySecret;
        @Value("wx.mechid")
        private String payMechId;
    
        public String getPayAppid() {
            return payAppid;
        }
    
        public void setPayAppid(String payAppid) {
            this.payAppid = payAppid;
        }
    
        public String getPaySecret() {
            return paySecret;
        }
    
        public void setPaySecret(String paySecret) {
            this.paySecret = paySecret;
        }
    
        public String getPayMechId() {
            return payMechId;
        }
    
        public void setPayMechId(String payMechId) {
            this.payMechId = payMechId;
        }
    }

    TestController.java

    package net.cyb.demo.controller;
    
    import net.cyb.demo.config.WXConfig;
    import net.cyb.demo.utils.JsonData;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.PropertySource;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.HashMap;
    import java.util.Map;
    
    @RestController
    @RequestMapping("/api/v1/test")
    public class TestController {
        @Autowired
        private WXConfig wxConfig;
        @GetMapping("get_config")
        public JsonData testConfig(){
            Map<String,String> map=new HashMap<>();
            map.put("appid",wxConfig.getPayAppid());
            map.put("secret",wxConfig.getPaySecret());
            map.put("mechid",wxConfig.getPayMechId());
            return JsonData.buildSuccess(map);
        }
    }
  • 相关阅读:
    第七十四节,css边框与背景
    php中strlen和{}的效率对比
    for循环++i效率
    php优化技巧
    mysql中group_concat函数用法
    mysql引擎互转问题
    array_column php 函数
    php-mysql结果集函数比较
    javaweb 要学习的东西
    Java 泛型和类型安全的容器
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/13236903.html
Copyright © 2011-2022 走看看