springboot读取配置文件

来源:互联网 发布:伟创网络 编辑:程序博客网 时间:2024/05/21 06:51

一、springboot配置文件

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

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

      

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

   核心配置文件内容:

server:  port: 8081  context-path: /bootservice:  name: freya

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

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

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

@RestControllerpublic 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-SNAPSHOTproject.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;    }}
@RestControllerpublic class HelloController {    @Autowired    private MyConfig myConfig;    @RequestMapping(value = "/hello")    public String hello() {        return "hello spring boot! " myConfig.getVersion() + " " +  myConfig.getName() ;    }}