• springboot的yml配置文件里有多个参数的调用方式


    本篇教程适用于配置文件一级下有多个二级或三级时,如何在service层不用通过多个@Value就能获取配置文件的参数

    例如yml配置是这样的:

     如果service层要引用这些参数,用多个@Value(${xxx})未免太过繁琐,所以还可以通过以下方式实现

    1.先写一个实体类,用来区别上图红框中的两个二级目录

    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * @author sujing
     * @since 2020/2/28 11:15
     * 钉钉配置管理
     **/
    @Data
    @Configuration
    @ConfigurationProperties(prefix = "dingtalk")
    public class DingTalkProperties {
    
        //钉钉官方参数
        private DingTalkParam param = new DingTalkParam();
    
        //钉钉官方api
        private DingTalkApi api = new DingTalkApi();
    
    }

    2.分别定义两个实体类

    import lombok.Data;
    
    /**
     * @author sujing
     * @since 2020/2/28 11:15
     **/
    @Data
    public class DingTalkParam {
    
        /*app appKey*/
        private String appKey;
    
        /*app appSecret*/
        private String appSecret;
    
        /*企业 corpId*/
        private String corpId;
    
    import lombok.Data;
    
    /**
     * @author sujing
     * @since 2020/2/28 11:15
     **/
    @Data
    public class DingTalkApi {
    
        /*获取accessToken*/
        private String getAccessToken;
    
        /*获取用户信息*/
        private String getUserInfo;
    
        /*获取用户id*/
        private String getUserId;
    
        /*根据手机号获取userid*/
        private String getUserIdByMobile;
    
        /*获取企业员工人数*/
        private String getOrgUserCount;
    
        /*获取部门用户分页列表*/
        private String getListByPage;
    }

    3.如何注入?

    直接在service实现类中通过@Resource注入

    @Resource
    private DingTalkProperties dingTalkProperties;

    引用的时候直接通过“对象.参数”即可

    dingTalkProperties.getApi().getxxx()
  • 相关阅读:
    redis延迟双删的策略
    Linux下查看nginx的安装路径
    mysql计算月初日期_mysql 获取上月、本月月初月末
    程序员常用Linux命令
    多个消费者监听同一个队列
    channel.basicAck
    RabbitMQ的消息确认ACK机制
    cat n 命令
    rpm 安装ceph
    k8s 僵尸进程
  • 原文地址:https://www.cnblogs.com/supiaopiao/p/12377729.html
Copyright © 2020-2023  润新知