擼了今年阿里、網易和美團的面試,我有乙個重要發現.......>>>
前言:在專案中,很多時候需要把配置寫在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 不會識別轉譯字元,原樣...