最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot如何獲取application.yml里值的方法

 更新時(shí)間:2022年04月27日 12:00:27   作者:一粒程序米  
這篇文章主要介紹了springboot如何獲取application.yml里的值,文章圍繞主題相關(guān)自資料展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

在項(xiàng)目中,很多時(shí)候需要用到一些配置信息,這些信息在測(cè)試環(huán)境和生產(chǎn)環(huán)境下可能會(huì)有不同的配置,后面根據(jù)實(shí)際業(yè)務(wù)情況有可能還需要再做修改。我們不能將這些配置在代碼中寫死,最好是寫到配置文件中,比如可以把這些信息寫到 application.yml 文件中。

那么,怎么在代碼里獲取或者使用這個(gè)地址呢?有2個(gè)方法。

方法一:

我們可以通過@Value 注解的 ${key} 即可獲取配置文件(application.yml)中和 key 對(duì)應(yīng)的 value 值,這個(gè)方法適用于微服務(wù)比較少的情形

方法二:

在實(shí)際項(xiàng)目中,遇到業(yè)務(wù)繁瑣,邏輯復(fù)雜的情況,需要考慮封裝一個(gè)或多個(gè)配置類。例如,假如在當(dāng)前服務(wù)中,某個(gè)業(yè)務(wù)需要同時(shí)調(diào)用微服務(wù)1、微服務(wù)2和微服務(wù)3。

如果這樣一個(gè)個(gè)去使用 @Value 注解引入相應(yīng)的微服務(wù)地址的話,太過于繁瑣。

也許實(shí)際業(yè)務(wù)中,遠(yuǎn)遠(yuǎn)不止這三個(gè)微服務(wù),甚至十幾個(gè)都有可能。對(duì)于這種情況,我們可以先定義一個(gè) MicroServiceUrl 類來專門保存微服務(wù)的 URL

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "url")
public class MicroServiceUrl {
private String orderUrl;
private String userUrl;
private String shoppingUrl;
public String getOrderUrl() {
return orderUrl;
}
public void setOrderUrl(String orderUrl) {
this.orderUrl = orderUrl;
}
public String getUserUrl() {
return userUrl;
}
public void setUserUrl(String userUrl) {
this.userUrl = userUrl;
}
public String getShoppingUrl() {
return shoppingUrl;
}
public void setShoppingUrl(String shoppingUrl) {
this.shoppingUrl = shoppingUrl;
}
}

添加依賴:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

目前配置寫好了,此時(shí),不需要在代碼中一個(gè)個(gè)引入這些微服務(wù)的 URL,直接通過 @Resource 注解將剛剛寫好的配置類注入進(jìn)來即可使用了,以下是測(cè)試Controller:

import com.example.test1.config.MicroServiceUrl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 獲取配置文件(application.yml)中和 key 對(duì)應(yīng)的 value 值
* 2種方法
*/
@RestController
@RequestMapping("/test")
public class ConfigController {
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigController.class);
@Value("${url.orderUrl}")
private String orderUrl;
@Resource
private MicroServiceUrl microServiceUrl;
@RequestMapping("/config")
public String testConfig() {
LOGGER.info("獲取的地址為:{}", orderUrl);
LOGGER.info("微服務(wù)1地址為:{}", microServiceUrl.getOrderUrl());
LOGGER.info("微服務(wù)2地址為:{}", microServiceUrl.getUserUrl());
LOGGER.info("微服務(wù)3地址為:{}", microServiceUrl.getShoppingUrl());
return "success";
}
}

到此這篇關(guān)于springboot如何獲取application.yml里的值的文章就介紹到這了,更多相關(guān)springboot獲取值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MyBatis中執(zhí)行相關(guān)SQL語句的方法

    MyBatis中執(zhí)行相關(guān)SQL語句的方法

    本文主要介紹了MyBatis中執(zhí)行相關(guān)SQL語句的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Java環(huán)境中MyBatis與Spring或Spring MVC框架的集成方法

    Java環(huán)境中MyBatis與Spring或Spring MVC框架的集成方法

    和MyBatis類似,Spring或者Spring MVC框架在Web應(yīng)用程序的運(yùn)作中同樣主要負(fù)責(zé)處理數(shù)據(jù)庫(kù)事務(wù),這里我們就來看一下Java環(huán)境中MyBatis與Spring或Spring MVC框架的集成方法
    2016-06-06
  • 前端和后端解決跨域問題的一些方式詳解

    前端和后端解決跨域問題的一些方式詳解

    跨域?qū)τ谡趯W(xué)習(xí)或者已經(jīng)就業(yè)的前端同學(xué)而言,就是老朋友,只要涉及請(qǐng)求,前后端交互,開發(fā)階段等關(guān)鍵字,都避不開跨域,這篇文章主要給大家介紹了關(guān)于前端和后端解決跨域問題的一些方式,需要的朋友可以參考下
    2024-07-07
  • 使用okhttp替換Feign默認(rèn)Client的操作

    使用okhttp替換Feign默認(rèn)Client的操作

    這篇文章主要介紹了使用okhttp替換Feign默認(rèn)Client的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Struts2實(shí)現(xiàn)自定義攔截器的三種方式詳解

    Struts2實(shí)現(xiàn)自定義攔截器的三種方式詳解

    這篇文章主要介紹了Struts2實(shí)現(xiàn)自定義攔截器的三種方式詳解,一些與系統(tǒng)邏輯相關(guān)的通用功能如權(quán)限的控制和用戶登錄控制等,需要通過自定義攔截器實(shí)現(xiàn),本節(jié)將詳細(xì)講解如何自定義攔截器,需要的朋友可以參考下
    2023-07-07
  • 詳解Java Web項(xiàng)目啟動(dòng)執(zhí)行順序

    詳解Java Web項(xiàng)目啟動(dòng)執(zhí)行順序

    這篇文章主要介紹了詳解Java Web項(xiàng)目啟動(dòng)執(zhí)行順序,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • Java編碼算法與哈希算法深入分析使用方法

    Java編碼算法與哈希算法深入分析使用方法

    首先,我們一起來學(xué)習(xí)一下編碼算法,舉例說明,ASCII碼就是我們常見的一種編碼,字母a的編碼是十六進(jìn)制的0x61,字母b是0x62,以此類推。哈希算法,可被稱為摘要算法。因此,哈希算法的加密是單向的,不可用密文解密得到明文
    2022-11-11
  • Java System類詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java System類詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    System類是jdk提供的一個(gè)工具類,有final修飾,不可繼承,由名字可以看出來,其中的操作多數(shù)和系統(tǒng)相關(guān)。這篇文章主要介紹了Java System類詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,需要的朋友可以參考下
    2017-04-04
  • 基于SSM框架+Javamail發(fā)送郵件的代碼實(shí)例

    基于SSM框架+Javamail發(fā)送郵件的代碼實(shí)例

    本篇文章主要介紹了基于SSM框架+Javamail發(fā)送郵件的代碼實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • java實(shí)現(xiàn)可視化界面肯德基(KFC)點(diǎn)餐系統(tǒng)代碼實(shí)例

    java實(shí)現(xiàn)可視化界面肯德基(KFC)點(diǎn)餐系統(tǒng)代碼實(shí)例

    這篇文章主要介紹了java肯德基點(diǎn)餐系統(tǒng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論

天镇县| 长寿区| 图们市| 昌江| 天全县| 缙云县| 德格县| 乌什县| 镇赉县| 怀宁县| 马关县| 北票市| 固镇县| 鸡西市| 正镶白旗| 临城县| 盐城市| 卢氏县| 沅陵县| 凌海市| 晋中市| 沙雅县| 正定县| 陆川县| 隆昌县| 章丘市| 江西省| 和田县| 南宁市| 山东| 万宁市| 怀宁县| 商洛市| 莱州市| 博野县| 雅安市| 屯留县| 广宁县| 平乡县| 依兰县| 孝感市|