Spring Boot 獲取yaml配置檔案資訊

2022-01-26 12:31:08 字數 3084 閱讀 2490

spring boot 專案啟動過程中:

當程式步入listeners.environmentprepared(environment);這裡後,就會讀取配置檔案中資訊。

這句**不好除錯listeners.environmentprepared(environment); 

在斷點處打上斷點,就可以看到系統是如何執行的:下面是堆疊資訊

這個類裡面的包含一些配置資訊:

private

static

final string default_properties = "defaultproperties";

//note the order is from least to most specific (last one wins)

private static final string default_search_locations = "classpath:/,classpath:/config/,file:./,file:./config/";

private

static

final setno_search_names = collections.singleton(null

);

private

static

final bindablestring_array = bindable.of(string.class

);

/*** the "active profiles" property name.

*/public

static

final string active_profiles_property = "spring.profiles.active";

/*** the "includes profiles" property name.

*/public

static

final string include_profiles_property = "spring.profiles.include";

/*** the "config name" property name.

*/public static final string config_name_property = "spring.config.name";

/*** the "config location" property name.

*/public static final string config_location_property = "spring.config.location";

乙個properties. 乙個yaml配置sourceloader

載入yaml檔案的類是yamlpropertysourceloader

public

class yamlpropertysourceloader implements

propertysourceloader ;

}@override

public list> load(string name, resource resource) throws

ioexception

list

> loaded = new origintrackedyamlloader(resource).load();

if(loaded.isempty())

list

> propertysources = new arraylist<>(loaded.size());

for (int i = 0; i < loaded.size(); i++)

return

propertysources;}}

注如果是雲環境,則首先載入的是bootstrap.yml, environment也是standardenvironment,非servlet環境。這是和spring boot有很大的不同,載入完成後,再巢狀一standardservletenvironment.

載入完成後,再巢狀一standardservletenvironment.

SpringBoot獲取properties配置

前言 在專案中,很多時候需要把配置寫在properties裡,部署的時候也需要切換不同的環境來選擇正確的配置的引數,也有時候需要將mq redis等第三方配置新建乙個properties檔案在專案中引用。1.因為是spring的環境,當然首先需要搭建好spring環境。package com.exa...

SpringBoot獲取properties配置

擼了今年阿里 網易和美團的面試,我有乙個重要發現.前言 在專案中,很多時候需要把配置寫在properties裡,部署的時候也需要切換不同的環境來選擇正確的配置的引數,也有時候需要將mq redis等第三方配置新建乙個properties檔案在專案中引用。1.因為是spring的環境,當然首先需要搭建...

SpringBoot獲取資料

配置檔案中資料 name abc 物件persion name lele age 29 物件行內寫法 persion2 陣列address beijing shanghai 陣列行內寫法 address2 beijing,shanghai msg1 hello n world 不會識別轉譯字元,原樣...