SpringBoot2 application.yml 自動補全自定義配置

1.新建文件“spring-configuration-metadata.json”

     a.新建文件夾"META-INF"在"src/main/resources'下

     b.新建文件“spring-configuration-metadata.json”在“META-INF”下

2.編輯文件“spring-configuration-metadata.json“

{
    "hints": [],
    "groups": [
        {
            "sourceType": "com.juling.config.Config",
            "name": "juling",
            "type": "com.juling.config.Config",
            "description": "自定義配置"
        }
    ],
    "properties": [
        {
            "sourceType": "com.juling.config.Config",
            "name": "juling.intercepturi",
            "type": "java.util.List<java.lang.String>",
            "description": "強制攔截請求"
        },
        {
            "sourceType": "com.juling.config.Config",
            "name": "juling.releaseuri",
            "type": "java.util.List<java.lang.String>",
            "description": "放行請求"
        }
    ]
}

   a.”com.juling.config.Config“爲自定義的配置類路徑

   b.”juling“爲application.yml第一層

   c.”juling.intercepturi“爲application.yml第二層

3.重新編譯工程

4.編輯application.yml

juling:
  intercepturi: 
    - /file/
  releaseuri: 
    - /
    - /manager/welcome
    - /manager/login

   這些都是可以自動提示的

5.編輯配置文件接收參數

package com.juling.config;

import java.util.List;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "juling")
public class Config {
    public static List<String> intercepturi; // -------------------------------------------強制攔截鏈接
    public static List<String> releaseuri; // ---------------------------------------------放行鏈接
   

    public void setIntercepturi(List<String> intercepturi) {
        Config.intercepturi = intercepturi;
    }

    public void setReleaseuri(List<String> releaseuri) {
        Config.releaseuri = releaseuri;
    }

}

  a.我這裏爲了方便別的地方調用直接定義的爲static,也可以不用定義爲static

  b.prefix = "juling"這個對應的是application.yml裏的第一層juling

  c.intercepturi,releaseuri這個就是第二層

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章