• spring-boot-route 读取配置文件的几种方式


    Spring Boot提供了两种格式的配置文件,分别是properties 和 yml。Spring Boot最大的特点就是自动化配置,如果我们想修改自动化配置的默认值,就可以通过配置文件来指定自己服务器相关的参数。

    配置文件集约管理了配置信息,如果把配置参数写到Java代码中,维护起来非常不方便,如果使用配置文件,我们可以统一管理,统一修改。我比较推荐使用yml格式的配置文件,YAML是专门用来写配置文件的语言,通常以yml为后缀,它的结构非常清晰,更易于阅读。

    将自定义的配置写在配置文件中后,如果想要在java代码中使用配置,这时候就需要读取配置文件,读取配置文件的方式有三种,我们挨个介绍一下如果进行读取!

    第一种:使用@Value注解读取

    第一步:在配置文件中增加加入以下配置

    config:
      name: Java旅途
      desc: spring-boot-route
    

    第二部:新建Java类读取配置信息

    @RestController
    public class GetValue {
    
        @Value("${config.name}")
        private String name;
    
        @Value("${config.desc}")
        private String desc;
    
        @GetMapping("getValue")
        public String getValue(){
            return "name="+name+";desc="+desc;
        }
    }
    

    @Value注解使用简单,适合单个参数的注入。

    第二种:使用@ConfigurationProperties读取

    @ConfigurationProperties与@Value相比,更加适合读取数组类型的参数。

    1. 获取单个对象

    第一步:在yml文件中新建对象类型的配置信息

    configs:
      config:
        name: Java旅途
        desc: spring-boot-route
    

    第二步:新建实体映射配置信息

    @Component
    @ConfigurationProperties(prefix = "configs.config")
    @Data
    public class Config {
    
        private String name;
        private String desc;
    }
    

    第三步:新建类测试是否获取到参数

    @RestController
    public class GetConfigurationProperties {
    
        @Autowired
        private Config config;
    
        @GetMapping("/getConfig")
        public String getConfig(){
            return config.getName()+";"+config.getDesc();
        }
    }
    

    2. 获取对象集合

    第一步:在yml文件中新建数组类型的参数

    configs:
      config:
        - name: Java旅途
          desc: spring-boot-route
        - name: javatrip
          desc: spring-boot-yml
    

    第二步:新建实体映射配置信息

    @Component
    @ConfigurationProperties(prefix = "configarr")
    @Data
    public class Configs {
    
        private List<Config> config = new ArrayList<>();
    
        @Data
        public static class Config{
    
            private String name;
            private String desc;
        }
    }
    

    第三步:新建测试类获取参数

    @RestController
    public class GetConfigurationProperties {
    
        @Autowired
        private Configs configs;
        
        @GetMapping("/getConfigs")
        public String getConfigs(){
    
            String content = "";
            List<Configs.Config> configList = configs.getConfig();
            Map<String,Object> map = new HashMap<>();
            for (Configs.Config bean : configList){
                content += bean.getName()+";"+bean.getDesc()+",";
            }
            return content;
        }
    }
    

    除了上面介绍的两种方式之外,还可以通过Spring Boot上下文的环境变量来读取配置文件信息

  • 相关阅读:
    复合梯形公式、复合辛普森公式 matlab
    拉格朗日插值和牛顿插值 matlab
    数值分析 最小二乘 matlab
    最短路径Dijkstra matlab
    最小生成数 克鲁斯卡尔 普里姆 matlab
    [ 9.9 ]CF每日一题系列—— 259A黑白棋盘检查问题
    Tarjan求缩点化强连通图
    CF每日一题系列 —— 415A
    [kuangbin]树链剖分 C
    [kuangbin]树链剖分 D
  • 原文地址:https://www.cnblogs.com/bao-bei/p/13784122.html
Copyright © 2020-2023  润新知