Springboot引入多個yml方法(多種方案)
SpringBoot默認加載的是application.yml文件,所以想要引入其他配置的yml文件,就要在application.yml中激活該文件
定義一個application-resources.yml文件(注意:必須以application-開頭)
application.yml中:
spring:
profiles:
active: resources
以上操作,xml自定義文件加載完成,接下來進行注入。
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語言中都是用來進行抽象類。但是兩者有什么區(qū)別呢,接下來小編給大家?guī)砹薬bstract 和 interface的區(qū)別詳解,感興趣的朋友一起學(xué)習(xí)吧2016-06-06SpringCloud集成Eureka并實現(xiàn)負載均衡的過程詳解
這篇文章主要給大家詳細介紹了SpringCloud集成Eureka并實現(xiàn)負載均衡的過程,文章通過代碼示例和圖文講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的參考價值,需要的朋友可以參考下2023-11-11JAVA參數(shù)傳遞方式實例淺析【按值傳遞與引用傳遞區(qū)別】
這篇文章主要介紹了JAVA參數(shù)傳遞方式,結(jié)合實例形式分析了java按值傳遞與引用傳遞區(qū)別及相關(guān)操作注意事項,需要的朋友可以參考下2020-05-05springboot?log4j2.xml如何讀取application.yml中屬性值
這篇文章主要介紹了springboot?log4j2.xml如何讀取application.yml中屬性值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12