Springboot引入多個yml方法(多種方案)
SpringBoot默認(rèn)加載的是application.yml文件,所以想要引入其他配置的yml文件,就要在application.yml中激活該文件
定義一個application-resources.yml文件(注意:必須以application-開頭)
application.yml中:
spring:
profiles:
active: resources
以上操作,xml自定義文件加載完成,接下來進(jìn)行注入。
application-resources.yml配置文件代碼:
user: filepath: 12346 uname: "13" admin: aname: 26
方案一:無前綴,使用@Value注解
@Component
//@ConfigurationProperties(prefix = "user")
public class User {
@Value("${user.filepath}")
private String filepath;
@Value("${user.uname}")
private String uname;
public String getFilepath() {
return filepath;
}
public void setFilepath(String filepath) {
this.filepath = filepath;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
@Override
public String toString() {
return "User{" +
"filepath='" + filepath + '\'' +
", uname='" + uname + '\'' +
'}';
}
}
方案二:有前綴,無需@Value注解
@Component
@ConfigurationProperties(prefix = "user")
public class User {
//@Value("${user.filepath}")
private String filepath;
//@Value("${user.uname}")
private String uname;
public String getFilepath() {
return filepath;
}
public void setFilepath(String filepath) {
this.filepath = filepath;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
@Override
public String toString() {
return "User{" +
"filepath='" + filepath + '\'' +
", uname='" + uname + '\'' +
'}';
}
}
測試類:
package com.sun123.springboot;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class UTest {
@Autowired
User user;
@Test
public void test01(){
System.out.println(user);
}
}
測試結(jié)果:

總結(jié)
以上所述是小編給大家介紹的Springboot引入多個yml方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Java程序開發(fā)中abstract 和 interface的區(qū)別詳解
abstract class和interface在Java語言中都是用來進(jìn)行抽象類。但是兩者有什么區(qū)別呢,接下來小編給大家?guī)砹薬bstract 和 interface的區(qū)別詳解,感興趣的朋友一起學(xué)習(xí)吧2016-06-06
SpringCloud集成Eureka并實現(xiàn)負(fù)載均衡的過程詳解
這篇文章主要給大家詳細(xì)介紹了SpringCloud集成Eureka并實現(xiàn)負(fù)載均衡的過程,文章通過代碼示例和圖文講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的參考價值,需要的朋友可以參考下2023-11-11
JAVA參數(shù)傳遞方式實例淺析【按值傳遞與引用傳遞區(qū)別】
這篇文章主要介紹了JAVA參數(shù)傳遞方式,結(jié)合實例形式分析了java按值傳遞與引用傳遞區(qū)別及相關(guān)操作注意事項,需要的朋友可以參考下2020-05-05
springboot?log4j2.xml如何讀取application.yml中屬性值
這篇文章主要介紹了springboot?log4j2.xml如何讀取application.yml中屬性值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12

