spring boot 获取yaml配置的对象和数组对象

时间:2025-02-14 09:48:46

一、获取对象

例子:

yaml中的配置:

permission:
   method: POST
   path: auth/login**

spring boot 中:

在需要使用到该配置的controller或者service或者专门的配置类中,添加method和path字段,注意要添加getter和setter

import ;

import ;
import ;

@ConfigurationProperties(prefix = "permission")
public class AuthConfig  {
    private String method;
    private String path;
   
    @Bean
    public Auth getAuth()
    {

        (method+path);
    }

    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
         = method;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
         = path;
    }

}

二、获取对象数组

例子:

yaml中的配置

permissions:
  list: 
   - method: POST
     path: auth/login/*
   - method: POST
     path: auht/login/

spring boot中

先定义一个Permission类,该类至少要包含method和path字段。然后在需要使用该配置的类中,添加一个list字段,该字段名与yaml中permissions下的list属性对应。

 



import ;

import ;
import ;

import ;

import ;


/**
 * 
 *
 * @Description:权限拦截器配置

 */
@Configuration
@ConfigurationProperties(prefix = "permission")
public class AuthConfig  {

    private List<Permission>list;
    @Bean
    public Auth getAuth()
    {
        Auth auth=new Auth();
        for (Permission permission:list
             ) {
            ((),());
        }



        return auth;
    }


    public List<Permission> getList() {
        return list;
    }

    public void setList(List<Permission> list) {
         = list;
    }
}