91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot怎么獲取application.yml里值

發布時間:2022-04-27 14:45:53 來源:億速云 閱讀:370 作者:iii 欄目:開發技術

本篇內容主要講解“springboot怎么獲取application.yml里值”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“springboot怎么獲取application.yml里值”吧!

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

springboot怎么獲取application.yml里值

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

方法一:

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

springboot怎么獲取application.yml里值

方法二:

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

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

也許實際業務中,遠遠不止這三個微服務,甚至十幾個都有可能。對于這種情況,我們可以先定義一個 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:

springboot怎么獲取application.yml里值

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里值”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乡县| 西畴县| 鸡西市| 宝清县| 宁德市| 安陆市| 河南省| 舞阳县| 天台县| 上林县| 乌拉特前旗| 祥云县| 子长县| 闽清县| 永善县| 上犹县| 达尔| 靖边县| 兰西县| 额尔古纳市| 祁连县| 璧山县| 石楼县| 互助| 嘉黎县| 灌阳县| 泌阳县| 林甸县| 丹寨县| 北京市| 和田县| 曲水县| 平舆县| 图们市| 会宁县| 河北区| 隆尧县| 通道| 清镇市| 原平市| 汽车|