亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

高密市| 兴国县| 长武县| 毕节市| 通辽市| 封丘县| 通榆县| 沧州市| 班玛县| 建水县| 新田县| 乌兰浩特市| 娱乐| 高州市| 旌德县| 吉木萨尔县| 府谷县| 吉安县| 天峨县| 大港区| 无为县| 连州市| 南投市| 静海县| 庄河市| 响水县| 嵊州市| 大冶市| 会同县| 合肥市| 通辽市| 景宁| 香格里拉县| 卓资县| 新竹市| 司法| 祥云县| 武冈市| 无极县| 绥江县| 许昌县|