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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM