• 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() ;
        }
    }
  • 相关阅读:
    最全的常用正则表达式大全
    服务器调用JS
    ASP-----分页功能的实现
    流操作text文件------读取、保存文档
    linq to sql 增删改查
    数据库的高级应用
    SQL---------表的约束
    面向对象--继承练习
    Winform---文件夹操作
    面向对象--里氏转换练习
  • 原文地址:https://www.cnblogs.com/liyafei/p/8537520.html
Copyright © 2020-2023  润新知