Java SpringBoot的自定義配置

一,一個類多個屬性的情況

  1. application.properties配置文件寫法
my.config.ip=127.0.0.1
my.config.port=8080
  1. 自定義配置類:MyTestConfig

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;@Configuration
@ConfigurationProperties(prefix = "my.config", ignoreUnknownFields = false)
public class MyTestConfig {public static final Logger log = LoggerFactory.getLogger(MyTestConfig.class);private String ip;private int port;public String getIp() {return ip;}public int getPort() {return port;}public void setIp(String ip) {this.ip = ip;log.info("【配置管理】配置ip:" + ip);}public void setPort(int port) {this.port = port;log.info("【配置管理】配置端口:" + port);}
}

二,一個類多個屬性,駝峰字段名

  1. application.properties配置文件寫法
#線程池參數:核心線程數
my.config.threadpool.core-pool-size=5
#線程池參數:最大線程數數
my.config.threadpool.max-poll-size=5
#線程池參數:阻塞的隊列大小,-1代表沒有限制,也就是int的最大值
my.config.threadpool.queue-size=-1
#核心線程之外的空閑線程   的存活時間(單位,秒)
my.config.threadpool.keep-alive-time=0
  1. 自定義配置類:MyThreadPoolConfig
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;import java.util.List;@Configuration
@ConfigurationProperties(prefix = "my.config.threadpool",ignoreUnknownFields = false
)
public class MyThreadPoolConfig {public static final Logger log = LoggerFactory.getLogger(MyThreadPoolConfig.class);private int corePoolSize = 10;// 線程池的核心線程數量private int maxPollSize = 10;//最大的線程數量private int queueSize = -1;//阻塞的隊列大小private long keepAliveTime = 0L;//線程空閑時間public void setCorePoolSize(int corePoolSize) {this.corePoolSize = corePoolSize;log.info("【配置管理】線程池的核心線程數量:" + corePoolSize + "個線程");}public void setMaxPollSize(int maxPollSize) {this.maxPollSize = maxPollSize;log.info("【配置管理】最大的線程數量:" + maxPollSize + "個線程");}public void setQueueSize(int queueSize) {this.queueSize = queueSize;log.info("【配置管理】阻塞的隊列大小:" + (queueSize > 0 ? corePoolSize + "個" : "不限制"));}public void setKeepAliveTime(long keepAliveTime) {this.keepAliveTime = keepAliveTime;log.info("【配置管理】線程空閑時間(單位,秒):" + (keepAliveTime > 0 ? keepAliveTime + "秒" : "不限制"));}}

三,需要配置成List集合的情況

  1. application.properties配置文件寫法
my.config.test.item[0]=test_1
  1. 自定義配置類:MyTestConfig
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;import java.util.List;@Configuration
@ConfigurationProperties(prefix = "my.config.test",ignoreUnknownFields = false
)
public class MyTestConfig {public static final Logger log = LoggerFactory.getLogger(MyTestConfig.class);private List<String> item;public void setItem(List<String> item) {this.item = item;for (String str : item) {log.info("【配置管理】新增一個子項:" + str);}}}

四,需要配置成List<自定義類>集合的情況

  1. application.properties配置文件寫法
my.config.test.item[0].name=zhangsan
my.config.test.item[0].age=25my.config.test.item[1].name=lisi
my.config.test.item[1].age=26
  1. 實體類:MyPeople
   public class MyPeople {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age= age;}}
  1. 自定義配置類:MyTestConfig
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;import java.util.List;@Configuration
@ConfigurationProperties(prefix = "my.config.test",ignoreUnknownFields = false
)
public class MyTestConfig {public static final Logger log = LoggerFactory.getLogger(MyTestConfig.class);private List<MyPeople> item;public List<MyPeople> getItem() {return item;}public void setItem(List<MyPeople> item) {this.item = item;for (MyPeople people : item) {log.info("people : " + people.getName() + " " + people.getAge());}}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76594.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76594.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76594.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Matlab FCM模糊聚類

1、內容簡介 Matlab 211-FCM模糊聚類 可以交流、咨詢、答疑 2、內容說明 略 3、仿真分析 略 4、參考論文 略

C++項目 —— 基于多設計模式下的同步異步日志系統(4)(雙緩沖區異步任務處理器(AsyncLooper)設計)

C項目 —— 基于多設計模式下的同步&異步日志系統&#xff08;4&#xff09;&#xff08;雙緩沖區異步任務處理器&#xff08;AsyncLooper&#xff09;設計&#xff09; 異步線程什么是異步線程&#xff1f;C 異步線程簡單例子代碼解釋程序輸出關鍵點總結擴展&#xff1a;使…

C# 使用 BinaryFormatter 和相關類型時的反序列化風險

C# 使用 BinaryFormatter 和相關類型時的反序列化風險 由來&#xff1a;在項目使用.NET Reactor 混淆 C# 的序列化和反序列化發現存在的問題&#xff0c;讀取文件時&#xff0c;轉化為對應的類數據有時候為空&#xff0c;所以就在網上搜索了相關知識&#xff0c;在此做個筆記以…

OpenCv高階(四)——角點檢測

一、角點檢測 在計算機視覺中&#xff0c;角點檢測是識別圖像中局部區域&#xff08;角點&#xff09;的關鍵技術&#xff0c;這些區域通常是兩條或多條邊緣的交點&#xff0c;具有豐富的結構信息&#xff0c;常用于圖像匹配、跟蹤、三維重建等任務。 Harris角點檢測算法是一…

Conda 入門指令教程

Conda 入門指令教程 Conda 是一個強大的包和環境管理工具&#xff0c;廣泛應用于數據科學和機器學習項目中。本文將介紹 Conda 的常用指令&#xff0c;幫助你快速上手。 1. Conda 基礎操作 查看 Conda 版本 conda --version顯示當前安裝的 Conda 版本。 更新 Conda conda…

Unity ShaderLab引用HLSL文件找不到其中函數

在寫Unity Shader的過程中&#xff0c;常常需要將方法封裝到HLSL文件中&#xff0c;今天遇到一個這樣的報錯&#xff0c; 明明hlsl文件路徑引用沒問題&#xff0c;卻引用不到方法 并且將分散文件中的函數復制過來一切正常&#xff0c;最終定位到HLSL的預編譯指令中 這指令的…

uniapp上傳圖片時(可選微信頭像、相冊、拍照)

參考文獻&#xff1a;微信小程序登錄——頭像_onchooseavatar-CSDN博客 <button open-type"chooseAvatar" chooseavatar"onChooseAvatar"> </button>onChooseAvatar(e) {uni.showLoading({title: 上傳中...,mask: true});uni.uploadFile({url…

單元測試的一般步驟

Qt Test Qt Test 是 Qt 開發人員發布的一個單元測試框架&#xff0c;用于測試基于 Qt 框架的應用程序或庫。它提供了單元測試框架中常見的所有功能以及用于測試圖形用戶界面的擴展。 1.自動化測試包絡ui測試>接口測試>單元測試&#xff1b;現問如何使用Qt進行單元測試&…

【Matlab】中國沿岸潮灘寬度和坡度分布

【Matlab】中國沿岸潮灘寬度和坡度分布 參考文獻見最后或者閱讀原文&#xff01; 中國沿岸潮灘寬度和坡度分布: figure 1 a 潮灘寬度分布。b 潮灘坡度分布。 圖中標注了中國沿海各省&#xff0c;分別為遼寧&#xff08;LN&#xff09;、河北&#xff08;HB&#xff09;、山東&…

理解.NET Core中的配置Configuration

什么是配置 .NET中的配置&#xff0c;本質上就是key-value鍵值對&#xff0c;并且key和value都是字符串類型。 在.NET中提供了多種配置提供程序來對不同的配置進行讀取、寫入、重載等操作&#xff0c;這里我們以為.NET 的源碼項目為例&#xff0c;來看下.NET中的配置主要是有…

windows服務器及網絡:論如何安裝(虛擬機)

今天我要介紹的是&#xff1a;在Windows中對于安裝系統&#xff08;虛擬機的步驟以及相關的安裝事宜&#xff09;&#xff0c;事不宜遲&#xff0c;讓我們來看看系統安裝&#xff08;虛擬機&#xff09;是怎么操作的&#xff1a; 對現在來說&#xff0c;安裝電腦系統已經是非常…

shardingsphere-jdbc集成Seata分布式事務

1、導入相關依賴 <!-- shardingsphere-jdbc --><dependency><groupId>org.apache.shardingsphere</groupId><artifactId>shardingsphere-jdbc</artifactId><version>5.5.1</version></dependency><!-- shardingspher…

05-DevOps-Jenkins自動拉取構建代碼

新建Gitlab倉庫 先在Gitab上創建一個代碼倉庫&#xff0c;選擇創建空白項目 安裝說明進行填寫&#xff0c;然后點擊創建項目 創建好的倉庫是空的&#xff0c;什么都沒有 新建一個springboot項目&#xff0c;用于代碼上傳使用。 只是為了測試代碼上傳功能&#xff0c;所以代碼…

C#核心(24)結構體和類的區別,抽象類和接口的區別(面試常問)

前言 隨著上一節我們對StringBulider的講解落下帷幕&#xff0c;c#核心的知識點我們也即將告一段落,我們講完了面向對象要用的三大特性&#xff08;封裝&#xff0c;繼承&#xff0c;多態&#xff09;和七大原則。期中自然也不乏一些小的散的碎的的知識點。 今天我們要講的也…

HTMLCSS實現異環網站,期末web作業

本網站是我在學習前端時敲得&#xff0c;僅供學習使用。 這段代碼是一個完整的 HTML 網頁項目&#xff0c;包含 HTML、CSS 和 JavaScript 部分&#xff0c;用于構建一個名為 “異環” 的網頁。網頁具備頭部導航欄、主體視頻展示、圖片交互元素、音樂播放控制、視頻彈窗播放以及…

Oracle表的別名不能用as,列的別名可以用as

在 Oracle 數據庫中&#xff0c;?表的別名?和?列的別名?在使用 AS 關鍵字時確實有不同規則&#xff0c;以下是詳細說明&#xff1a; 1. 表的別名&#xff08;Table Alias&#xff09;? ?不支持 AS 關鍵字?&#xff0c;直接跟在表名后即可。?語法示例?&#xff1a; S…

【SAP ME 44】在 HANA DB中報廢SFC時的SHOP_ORDER表記錄鎖定

癥狀 SELECT…FROM SHOP_ORDER FOR UPDATE 在 SFC 報廢期間持有鎖,當同時調用數量較大時,可能會導致 HANA 數據庫出現大量鎖積壓。這有時會導致因等待 HANA 數據庫釋放“選擇更新”鎖而導致報廢 SFC 花費數分鐘。 HANA 數據庫日志中的示例: # begin PreparedStatement_ex…

Vscode開發Vue項目NodeJs啟動報錯處理

文章目錄 背景一、npm啟動報錯報錯信息定位原因處理方案第一步、下載安裝高版本 二、node 無法識別報錯信息處理方案定位原因第一步、檢測環境變量第二步、重新開啟界面 背景 使用Vscode開發Vue項目&#xff0c;使用到NodeJs&#xff0c;記錄出現的問題及處理方案&#xff0c;…

破局遺留系統!AI自動化重構:從靜態方法到Spring Bean注入實戰

在當今快速發展的軟件行業中,許多企業都面臨著 Java 遺留系統的維護和升級難題。這些老舊系統往往采用了大量靜態方法,隨著業務的不斷發展,其局限性日益凸顯。而飛算 JavaAI 作為一款強大的 AI 工具,為 Java 遺留系統的重構提供了全新的解決方案,能夠實現從靜態方法到 Spring B…

2025媽媽杯數學建模C題完整分析論文(共36頁)(含模型建立、可運行代碼、數據)

2025 年第十五屆 MathorCup 數學建模C題完整分析論文 目錄 摘 要 一、問題分析 二、問題重述 三、模型假設 四、 模型建立與求解 4.1問題1 4.1.1問題1思路分析 4.1.2問題1模型建立 4.1.3問題1代碼&#xff08;僅供參考&#xff09; 4.1.4問題1求解結果&#xff08;僅…