0
点赞
收藏
分享

微信扫一扫

【springboot2.1.x获取yml配置文件】

老牛走世界 2022-02-21 阅读 82

springboot2.1.x获取yml配置文件

pom.xml

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-configuration-processor</artifactId>
  <optional>true</optional>
</dependency>

application.yml

name:
  zhangsan
age:
  18
list:
  course[0]: 语文
  course[1]: 数学
  course[3]: 英语
map:
  subject:
    chinesec: 100
    mathematics: 80
    english: 78
map-list:
  class-list:
    one[0]: zhangsan
    one[1]: wangwu
    one[2]: lisi
    twe[0]: zhangsi
    twe[1]: liuneng

ConfigurationHelper

@Slf4j
@Component
public class ConfigurationHelper {

    private static String name;
    private static String age:
    @Value("${name}")
    public void setName(String name) {
        ConfigurationHelper.name = name;
    }

    public static String getName() {
        return name;
    }
    
    @Value("${age}")
    public void setAge(String age) {
        ConfigurationHelper.age = age;
    }

    public static String getAge) {
        return age;
    }
}

ListConfig

@Slf4j
@Configuration
@ConfigurationProperties(prefix = "list")
@EnableConfigurationProperties(ListConfig.class)
public class ListConfig {
    private static List<String> course = new ArrayList<>();

    public static List<String> getCourse() {
        return course;
    }

    public void setCourse(List<String> course) {
        ListConfig.course = course;
    }
}

MapConfig

@Slf4j
@Configuration
@ConfigurationProperties(prefix = "map")
@EnableConfigurationProperties(MapConfig.class)
public class MapConfig {

    /**
     * 从配置文件中读取的limitSizeMap开头的数据
     * 注意:名称必须与配置文件中保持一致
     */
    private Map<String, String> subject = new HashMap<>();

    public Map<String, String> getSubject() {
        return subject;
    }

    public void setSubject(Map<String, String> subject) {
        this.subject = subject;
    }
}

MapListConfig

@Slf4j
@Configuration
@ConfigurationProperties(prefix = "map-list")
@EnableConfigurationProperties(MapListConfig.class)
public class MapListConfig {

    private static Map<String, List<String>> classList = new HashMap<>();

    public static Map<String, List<String>> getClassList() {
        return classList;
    }

    public void setClassList(Map<String, List<String>> classList) {
        MapListConfig.classList = classList;
    }
}

Test

@SpringBootTest(classes = App.class)
public class AppTest {
    @Test
    public void test1() {
       String name = ConfigurationHelper.getName();
       String age = ConfigurationHelper.getAge();
       List<String> course = ListConfig.getCourse();
       Map<String, String> subject = MapConfig.getSubject()
       Map<String, List<String>> classList = MapListConfig.getClassList() 
    }
}
举报

相关推荐

0 条评论