zoukankan      html  css  js  c++  java
  • spring boot读取配置文件

    一、springboot配置文件

            核心配置文件和自定义配置文件。核心配置文件是指在resources根目录下的application.propertiesapplication.yml配置文    件。为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义

       信息,这里在resources/config目录下创建配置文件config.properties

          

    二、核心配置文件的两种读取方法

       核心配置文件内容:

    server:
      port: 8081
      context-path: /boot
    
    service:
      name: freya

       (1)@Value("${键名}")

    RestController
    public class HelloController {
    
        @Value("${service.name}")
        private String name;
    
        @RequestMapping(value = "/hello")
        public String hello() {
            return "hello spring boot! " + name;
        }
    }

       (2)使用Environment,env.getProperty("键名")

    @RestController
    public class HelloController {
        @Autowired
        private Environment env;
    
        @RequestMapping(value = "/hello")
        public String hello() {
            return "hello spring boot! " + env.getProperty("service.name");
        }
    }

    三、自定义配置文件的读取方法

           自定义的config.properties的内容如下:

    project.version=1.0-SNAPSHOT
    project.name=boot

           创建实体类MyConfig。

           注意:springboot1.5版本以下@ConfigurationProperties有两个属性locations(指定配置文件的所在位置),       

           prefix(指定配置文件中键名称的前缀)。但是1.5版本及以上的版本取消了locations属性,为了指定配置文件的

           位置,使用@PropertySource(value = "自定义配置文件路径")指定文件所在位置。

    @Component
    @ConfigurationProperties(prefix = "project")
    @PropertySource(value = "classpath:config/config.properties")
    public class MyConfig {
        private String version;
        private String name;
    
        public String getVersion() {
            return version;
        }
    
        public void setVersion(String version) {
            this.version = version;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }
    
    @RestController
    public class HelloController {
    
        @Autowired
        private MyConfig myConfig;
    
        @RequestMapping(value = "/hello")
        public String hello() {
            return "hello spring boot! " myConfig.getVersion() + " " +  myConfig.getName() ;
        }
    }
  • 相关阅读:
    计算子网掩码中存在的主机数
    IP相关常识
    IP子网掩码划分及设置
    spark的外排:AppendOnlyMap与ExternalAppendOnlyMap
    Struts2+JSON数据
    Spark -14:spark Hadoop 高可用模式下读写hdfs
    log4j 日志 配置 学习
    flume的memeryChannel中transactionCapacity和sink的batchsize需要注意事项
    Python画图matplotlib展示图中中文乱码
    Python pycharm(windows版本)部署spark环境
  • 原文地址:https://www.cnblogs.com/liyafei/p/8537520.html
Copyright © 2011-2022 走看看