網(wǎng)站首頁 編程語言 正文
1. 說明
默認(rèn)情況下讀取配置Configuration的默認(rèn)優(yōu)先級:ConfigureAppConfiguration(自定義讀取)>CommandLine(命令行參數(shù))>Environment(環(huán)境變量)>appsetting.json(默認(rèn)配置文件)>UseSetting的順序
原因:讀取配置的順序是后來者居上模式,后來注冊的會優(yōu)先被讀取到。
2. 獲取配置
2.1 獲取單個(gè)項(xiàng)
//值是數(shù)組
var a0 = Configuration.GetSection("RabbitMQ:Hosts").Get<string[]>();
//獲取數(shù)組第一個(gè)
var a0 = Configuration["RabbitMQ:Hosts:0"];
//值是int類型
var a1 = Configuration.GetValue<int>("RabbitMQ:Port");
//值是字符串
var a2 = Configuration.GetValue<string>("RabbitMQ:UserName");
var a2 = Configuration["RabbitMQ:UserName"];
2.2 映射項(xiàng)到模型類
模型類
public class RabbitMQConfig
{
public const string RabbitMQ = "RabbitMQ";
public string[] Hosts { get; set; }
public int Port { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string VirtualHost { get; set; }
}
appsettings
"RabbitMQ": {
"Hosts": [ "xxx.xxx.xxx.xxx" ],
"Port": 5672,
"UserName": "admin",
"Password": "xxxxxx",
"VirtualHost": "myQueue"
}
2.2.1 注入模型類
//startup配置
services.Configure<RabbitMQConfig>(Configuration.GetSection(RabbitMQConfig.RabbitMQ));
//獲取數(shù)據(jù)
private readonly RabbitMQConfig _rabbitMQConfig;
public WeatherForecastController(IOptions<RabbitMQConfig> options)
{
_rabbitMQConfig = options.Value;
}
2.2.2 映射項(xiàng)到模型類
var info = new RabbitMQConfig();
Configuration.Bind(RabbitMQConfig.RabbitMQ, info);
//or
Configuration.GetSection(RabbitMQConfig.RabbitMQ).Bind(info);
原文鏈接:https://www.cnblogs.com/azrng/p/14735952.html
相關(guān)推薦
- 2022-04-28 Python中自定義函方法與參數(shù)具有默認(rèn)值的函數(shù)_python
- 2024-01-14 idea debugger step into功能失效
- 2022-03-03 【css】page-break-after 頁面打印分頁屬性
- 2022-04-14 Mac快速解決zsh: command not found: conda的方法
- 2022-12-22 一文帶你深入了解Go語言中切片的奧秘_Golang
- 2022-06-20 基于C#實(shí)現(xiàn)語音識別功能詳解_C#教程
- 2022-06-24 Python統(tǒng)計(jì)序列和文件中元素的頻度_python
- 2023-01-04 Opencv實(shí)現(xiàn)鼠標(biāo)事件與窗口互動功能過程_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支