這篇文章給大家介紹如何正確的使用Springboot配置文件,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)是專業(yè)的桂東網(wǎng)站建設(shè)公司,桂東接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行桂東網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!如果使用IDEA創(chuàng)建Springboot項(xiàng)目,默認(rèn)會(huì)在resource目錄下創(chuàng)建application.properties文件,在springboot項(xiàng)目中,也可以使用yml類型的配置文件代替properties文件
一、單個(gè)的獲取配置文件中的內(nèi)容
在字段上使用@Value("${配置文件中的key}")的方式獲取單個(gè)的內(nèi)容
1.在resource目錄下創(chuàng)建application.yml文件,并添加一些配置,在yml文件中,key:后面需要添加一個(gè)空格,然后是value值,假設(shè)配置如下
#注意:在yml文件中添加value值時(shí),value前面需要加一個(gè)空格 ip: 127.0.0.0 port: 8080
2.創(chuàng)建一個(gè)ConfigController類,獲取配置文件中的內(nèi)容并賦值給相應(yīng)的字段
package com.example; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class ConfigController { @Value("${ip}")//獲取application.yml文件中名為ip的value值 private String ip; @Value("${port}")//獲取application.yml文件中名為port的value值,并且自動(dòng)完成數(shù)據(jù)類型轉(zhuǎn)換 private Integer port; @RequestMapping("/config") public String config() { return "ip:"+ip+",port:"+port; } }
3.在SrpingbootdemoApplication中啟動(dòng)項(xiàng)目
package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; //入口 @SpringBootApplication public class SpringbootdemoApplication { public static void main(String[] args) { SpringApplication.run(SpringbootdemoApplication.class, args); } }
4.在瀏覽器中輸入http://localhost:8080/config,可以看到輸出了配置文件中配置的內(nèi)容
二、使用Bean自動(dòng)注入獲取配置文件中的內(nèi)容
假如配置文件中有很多內(nèi)容,一個(gè)一個(gè)獲取將會(huì)很麻煩,那么我們另外一種方式去獲取配置文件中的信息
1.在配置文件中添加以下信息(注意格式),此處我們使用了一個(gè)名為devconfig的前綴
devconfig: ip: 127.0.0.0 port: 8080
2.創(chuàng)建ConfigBean,在類中添加@Componet和@ConfigurationProperties注解,其中prefix設(shè)置為devconfig,將會(huì)獲取yml中前綴為devconfig下的配置信息
package com.example; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "devconfig")//獲取前綴為devconfig下的配置信息 public class ConfigBean { private String ip;//名字與配置文件中一致 private Integer port; public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public Integer getPort() { return port; } public void setPort(Integer port) { this.port = port; } }
3.在ConfigController中使用@Autowrite對(duì)bean自動(dòng)注入,實(shí)例化bean
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class ConfigController { // @Value("${ip}")//獲取application.yml文件中名為ip的value值 // private String ip; // // @Value("${port}")//獲取application.yml文件中名為port的value值,并且自動(dòng)完成數(shù)據(jù)類型轉(zhuǎn)換 // private Integer port; //自動(dòng)注入,實(shí)例化bean @Autowired private ConfigBean configBean; @RequestMapping("/config") public String config() { return "另一種方式: ip:"+configBean.getIp()+",port:"+configBean.getPort(); } }
4.運(yùn)行程序,輸入http://localhost:8080/config進(jìn)行測(cè)試
三、多個(gè)配置文件切換使用
1.假設(shè)開發(fā)環(huán)境使用ip為:127.0.0.0 使用端口為:8080
生產(chǎn)環(huán)境使用ip為:127.0.0.1 使用端口為:8081
下面來修改配置文件,在resource目錄下創(chuàng)建一個(gè)名為application-dev.yml文件開發(fā)環(huán)境使用配置文件和application-produce.yml生產(chǎn)環(huán)境配置文件
application-dev.yml
config: ip: 127.0.0.0 port: 8080
application-produce.yml
config: ip: 127.0.0.1 port: 8081
application.yml中配置生效的配置文件,此處設(shè)為produce,也就是使用application-produce.yml文件
spring: profiles: active: produce
2.修改ConfigBean的prefix為config
package com.example; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "config") public class ConfigBean { private String ip;//名字與配置文件中一致 private Integer port; public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public Integer getPort() { return port; } public void setPort(Integer port) { this.port = port; } }
3.運(yùn)行程序,在瀏覽器輸入http://localhost:8080/config進(jìn)行測(cè)試
4.也可通過啟動(dòng)jar包時(shí)添加參數(shù)來更改生效的配置文件,命令為
Java -jar XXX.jar --spring.profiles.active=poduce
關(guān)于如何正確的使用Springboot配置文件就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。