SpringBoot獲取properties配置

2021-09-25 05:37:05 字數 1870 閱讀 3407

擼了今年阿里、網易和美團的面試,我有乙個重要發現.......>>>

前言:在專案中,很多時候需要把配置寫在properties裡,部署的時候也需要切換不同的環境來選擇正確的配置的引數,也有時候需要將mq redis等第三方配置新建乙個properties檔案在專案中引用。

1.因為是spring的環境,當然首先需要搭建好spring環境。

package com.example;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.beans.factory.annotation.value;

import org.springframework.context.annotation.propertysource;

import org.springframework.core.env.environment;

import org.springframework.stereotype.component;

/** * created by administrator on 2016/10/13.

*/@component

public class valuetest ")//系統屬性配置

public string test2;

@value("#")//執行某個類的方法

public string test3;

@value("#")//某個類的公有屬性

public string test4;

@value("$")//springboot的properties,或者配置在propertysourcesplaceholderconfigurer bean裡的properties檔案的值

public string test5;

}

@propertysource("classpath:config.properties")//引用其他單獨的properties
如果前置一樣可以統一配置

@configurationproperties(prefix = "spring.wnagnian",locations = "classpath:config/***.properties")  

2.如果直接用 @value("$") 來取配置的值需要配置 propertysourcesplaceholderconfigurer 用來引入properties檔案

package com.example.config;

import org.springframework.context.annotation.bean;

import org.springframework.context.annotation.configuration;

import org.springframework.context.support.propertysourcesplaceholderconfigurer;

import org.springframework.core.io.classpathresource;

/** * created by administrator on 2016/10/13.

*/@configuration

public class propertiesconfig

}

如果是spring xml配置

classpath:config.properties

取值

@value("#")

private string name;

SpringBoot配置檔案佔位符 Profile

隨機數 佔位符獲取之前配置的值,如果沒有可以使用冒號指定預設值 person沒有hello的屬性,冒號指定預設值,最後輸出abc。profile是spring對不同環境提供不同配置功能的支援,可以通過啟用 指定引數等方式快速切換環境。yml支援多文件塊模式 server port 8081 spri...

SpringBoot獲取properties配置

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

SpringBoot獲取資料

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