本篇教程适用于配置文件一级下有多个二级或三级时,如何在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()

最新文章

  1. C#窗体中读取修改xml文件
  2. Google C++单元测试框架GoogleTest---AdvancedGuide(译文)上
  3. iOS检查App新版本并更新新版本
  4. remove ---会报错discard不会报错
  5. php 网页 301 跳转
  6. GIS的发展
  7. ios中二维码的使用之二: 二维码的扫描
  8. 使用CSS中margin和padding的基础和注意事项
  9. 初学JavaScript七大注意事项
  10. 转:浅谈CSS在前端优化中一些值得注意的关键点
  11. Android ActionBar 返回为NULL
  12. Python进阶之面向对象编程(二)
  13. myBase Desktop 6.5.1 无限期试用
  14. per-CPU变量
  15. C++——volatile关键字的学习
  16. linux子系统搭建python3
  17. 使用rpm 打包开发的postgres extension
  18. 谈谈MySQL无法连接的原因和分析方法
  19. windows10局域网实现文件共享
  20. Appium+python自动化4-元素定位uiautomatorviewer

热门文章

  1. Uncaught Error: Call to undefined function mcrypt_get_iv_size() 解决办法
  2. [Effective Java 读书笔记] 第二章 创建和销毁对象 第一条
  3. 票据传递之MS14-068
  4. ts的特殊数据类型
  5. [Linux-CentOS7]yum清华源CentOS7
  6. linux内核编译 fatal error: openssl/opensslv.h: No such file or directory
  7. Android之ScrollView嵌套ListView冲突 (listView只显示一行)
  8. Go 1.14 中 Cleanup 方法简介
  9. DotNet源码学习-HASHSET(初探)
  10. mysql必知必会--使用数据处理函数