默认配置文件

  当我们创建一个springboot项目的时候,系统默认会为我们在src/main/Java/resources目录下创建一个application.properties。

  springboot如何同时加载多个配置文件

  springboot 默认是在src/main/resources文件夹中加载application.properties默认配置文件

  格式为application-{profile}.properties,其中{profile}对应你的环境标识

  在application.properties中添加spring.profiles.active = dev,database

  # 加载多个配置文件,系统加载了application.properties application-database.properties application-dev.properties 三个配置文件

  spring.profiles.active = dev,database

  系统加载了src/main/resources目录下的application.properties application-database.properties application-dev.properties 三个配置文件

  将配置文件的属性赋给实体类

  application-dev.properties文件内容

  dev.name=liumei

  java实体类

  package com.hb.config;

  import org.springframework.boot.context.properties.ConfigurationProperties;

  import org.springframework.stereotype.Component;

  @Component

  @ConfigurationProperties(prefix="dev")

  public class DevConfig {

  // application-dev.properties中dev.name的值

  private String name;

  public String getName() {

  return name;

  }

  public void setName(String name) {

  this.name = name;

  }

  }

  @ConfigurationProperties(prefix=“dev”) 意思是说加载所有配置信息中dev.name的值;name的属性要有get和set方法

  自定义配置文件

  上面介绍的是我们都把配置文件写到application.yml中。有时我们不愿意把配置都写到application配置文件中,这时需要我们自定义配置文件,比如test.properties:

  com.forezp.name=forezp

  com.forezp.age=12

  怎么将这个配置文件信息赋予给一个javabean呢?

  @Configuration

  @PropertySource(value = "classpath:test.properties")

  @ConfigurationProperties(prefix = "com.forezp")

  public class User {

  private String name;

  private int age;

  public String getName() {

  return name;

  }无锡好的×××医院 http://www.zzch120.com/

  public void setName(String name) {

  this.name = name;

  }

  public int getAge() {

  return age;

  }

  public void setAge(int age) {

  this.age = age;

  }

  }

  在最新版本的springboot,需要加这三个注解。

  @Configuration

  @PropertySource(value = “classpath:test.properties”)

  @ConfigurationProperties(prefix = “com.forezp”);在1.4版本需要