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

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

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

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

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

方法一:

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

方法二:

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

如果這樣一個個去使用 @Value 注解引入相應的微服務地址的話,太過于繁瑣。

也許實際業(yè)務中,遠遠不止這三個微服務,甚至十幾個都有可能。對于這種情況,我們可以先定義一個 MicroServiceUrl 類來專門保存微服務的 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>

目前配置寫好了,此時,不需要在代碼中一個個引入這些微服務的 URL,直接通過 @Resource 注解將剛剛寫好的配置類注入進來即可使用了,以下是測試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 對應的 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("微服務1地址為:{}", microServiceUrl.getOrderUrl());
LOGGER.info("微服務2地址為:{}", microServiceUrl.getUserUrl());
LOGGER.info("微服務3地址為:{}", microServiceUrl.getShoppingUrl());
return "success";
}
}

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

相關文章

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

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

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

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

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

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

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

    使用okhttp替換Feign默認Client的操作

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

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

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

    詳解Java Web項目啟動執(zhí)行順序

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

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

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

    Java System類詳解_動力節(jié)點Java學院整理

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

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

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

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

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

最新評論

龙门县| 衢州市| 高淳县| 定边县| 望江县| 上饶县| 连平县| 荣成市| 长宁区| 方山县| 博乐市| 新化县| 高州市| 新建县| 连南| 威信县| 陕西省| 牡丹江市| 赤壁市| 如东县| 出国| 亚东县| 昆明市| 上饶县| 南木林县| 乐昌市| 雷山县| 土默特右旗| 昌乐县| 丰原市| 邵阳县| 金塔县| 郎溪县| 禄丰县| 喀喇沁旗| 新建县| 彭泽县| 犍为县| 石阡县| 昭觉县| 新化县|