1. 程式人生 > >springboot讀取配置資訊、環境變數

springboot讀取配置資訊、環境變數

2、讀取配置檔案

2.1 讀取核心配置檔案

核心配置檔案是指在resources根目錄下的application.propertiesapplication.yml配置檔案,讀取這兩個配置檔案的方法有兩種,都比較簡單。

核心配置檔案application.properties內容如下:

server.port=9090

test.msg=Hello World Springboot!

2.1.1使用@Value方式(常用):

@RestController

public class WebController {

    @Value("${test.msg}")

    private String msg;

    @RequestMapping(value = "index", method = RequestMethod.GET)

    public String index() {

        return "The Way 1 : " +msg;

    }

}

2.1.2使用Environment方式

@RestController

public class WebController {

    @Autowired

    private Environment env;

    @RequestMapping(value = "index2", method = RequestMethod.GET)

    public String index2() {

        return "The Way 2 : " + env.getProperty("test.msg");

    }

}

2.1.3 springboot轉換為java

@Component

@ConfigurationProperties(prefix="people")

publicclass People {

private String name;

private Integer age;

private List<String> address;

private Phone phone;

public String getName() {

returnname;

}

public class Rest {

    @Autowired

private People me;

    @RequestMapping("/bbb")

    public String hello() {

        return " good " + me.getName() + me.getAge() + me.getAddress() + me.getPhone().getNumber();

    }

}

2.2 讀取自定義配置檔案

為了不破壞核心檔案的原生態,但又需要有自定義的配置資訊存在,一般情況下會選擇自定義配置檔案來放這些自定義資訊,這裡在resources/config目錄下建立配置檔案my-web.properties

@ConfigurationProperties(locations = "classpath:config/my-web.properties", prefix = "web")

@Component

public class MyWebConfig {

    private String name;

    private String version;

    private String author;

    public String getAuthor() {

        return author;

    }

2.3 讀取環境變數

微服務開發時,一些配置資訊(比如資料庫使用者名稱,密碼)從配置檔案中讀取,但在paas中,需要從docker的環境變數中讀取。

server:

  port: 9090

people:

#  name: "hhh"

#  name: ${COMPUTERNAME}

  name: ${M2_HOME:abc}  #首先取環境變數,如果環境變數中沒有,就取abc這個固定值

  age: 38

  address:

    - 111

    - 222

  phone:

    number: 13026613740