第十一節:學習通過動態調用application.properties參數配置實體類(自學Spring boot 3.x的第二天)

大家好,我是網創有方。這節實現的效果是通過代碼靈活地調用application.properties實現配置類參數賦值。

第一步:編寫配置類

package cn.wcyf.wcai.config;import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;@Configuration   //聲明是個配置類
public class WechatConfig {public String getAppId() {return appId;}public void setAppId(String appId) {this.appId = appId;}public String getToken() {return token;}public void setToken(String token) {this.token = token;}public String getSecretKey() {return secretKey;}public void setSecretKey(String secretKey) {this.secretKey = secretKey;}private String appId;private String token;private String secretKey;
}

第二步:編寫application.properties

spring.application.name=wcai
server.port=80
#用于配置請求controller的path前綴,比如/demo,就是在請求前面加上/demo,留空就不加
server.servlet.context-path=
wechat.app-id=wx4dqdadqqdq
wechat.token=da6644qd44ad72q
wechat.secret-key=7a78d57q4523szd45357

第三步:編寫 Controller,通過environment的getProperty動態獲取application.properties的參數

@RestController
public class HellowordController {@ResourceApplicationContext applicationContext;@RequestMapping("/helloword")public String getHelloword(){return "helloword";}@RequestMapping("/getWechatConfig")public WechatConfig getWechatSetting(){Environment enr = applicationContext.getEnvironment();String appId = enr.getProperty("wechat.app-id");String token = enr.getProperty("wechat.token");String secret_key = enr.getProperty("wechat.secret-key");WechatConfig wechatSetting = new WechatConfig();wechatSetting.setAppId(appId);wechatSetting.setToken(token);wechatSetting.setSecretKey(secret_key);return wechatSetting;}
}

運行效果:

?

個人感覺這種方式還是沒有上節的自動配置方法好用。第十節:學習ConfigurationProperties類來配置pojo實體類參數(自學Spring boot 3.x的第二天)-CSDN博客

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

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

相關文章

深入探索:WebKit中Flexbox布局的全面支持與實踐

標題:深入探索:WebKit中Flexbox布局的全面支持與實踐 摘要 Flexbox布局是CSS3的一部分,提供了一種更加強大和靈活的方式來布局、對齊和分配容器內項目的空間,即使它們的大小未知或是動態變化的。WebKit作為Safari瀏覽器的渲染引…

11. Revit API UI 補充

11. Revit API UI 補充 UI篇我也只寫了主要的,部分關聯的沒有寫。 以前發的又不想去改,這里就做一些補充吧。 一、可停靠窗口補充 在可停靠窗口那篇,提到要實現IDockablePageProvider接口,就略過了。 該接口要求實現一個方法。…

蘇東坡傳-讀書筆記四

長江三峽,無人不知其風光壯麗,但對旅客而言,則是險象環生。此段江流全長二百二十余里,急流旋渦在懸崖峭壁之間滾轉出入,水下暗石隱伏,無由得見,船夫要極其敏捷熟練,才可通行。三峽之…

每日算法-二分查找

適用場景 適用于有序數組中查找某一個值. 每查找一次,就將搜尋范圍縮小一半, 平均時間復雜度是O(logN), 簡記作:O(lgN). 主要難點 主要難點在于邊界條件的判斷; 大致思路: 1.當供查找的數組不合法時,直接返回結果,查詢無果; 2.當數組長度等于1時,直接判斷是否…

AI生成音樂——創作的革命與未來的思考

AI在創造還是毀掉音樂? 最近一個月,音樂大模型的輪番上線,迅速降低了素人生產音樂的門檻,并引發了關于音樂圈是否會被AI徹底顛覆的熱議。短暫的興奮過后,更多理性的目光開始審視AI產品的版權歸屬、創意產業在AI陰影下…

Redis 7.x 系列【6】數據類型之字符串(String)

有道無術,術尚可求,有術無道,止于術。 本系列Redis 版本 7.2.5 源碼地址:https://gitee.com/pearl-organization/study-redis-demo 文章目錄 1. 前言2. 常用命令2.1 SET2.2 GET2.3 MSET2.4 MGET2.5 GETSET2.6 STRLEN2.7 SETEX2.8…

全方位對比PostgreSQL和MySQL

目錄 引言 技術架構與設計哲學 起源與發展 數據庫引擎 PostgreSQL與MySQL:SQL語法與特性對比概覽 PostgreSQL與MySQL高級特性對比:數據類型與事務處理能力 數據類型與功能特性 PostgreSQL與MySQL性能與可擴展性對比 PostgreSQL與MySQL性能與可擴…

南昌高校大學智能制造實驗室數字孿生可視化系統平臺建設項目驗收

南昌高校大學智能制造實驗室,作為該地區乃至全國智能制造領域的重要研究和教學基地,一直致力于探索和創新智能制造技術。近日,該實驗室的數字孿生可視化系統平臺建設項目成功通過了驗收,標志著其在數字孿生技術領域取得了重大突破…

Trick :帶 pop 的 STL 結構化綁定時不要用 auto

題目描述 給一個 n m n\times m nm 矩陣迷宮, 第 i i i 行第 j j j 列的值為 c i , j c_{i,j} ci,j? , L H LH LH 在迷宮中迷路了,他需要你的幫助。 L H LH LH 當前在 ( 1 , 1 ) (1,1) (1,1) 的位置,出口在 ( n , m ) (n…

安卓應用內通信的核心-Handler

Handler Handler是安卓應用內通信的核心。 Handler相關的類簡介 Handler機制整體可以看作一個傳送帶。 Looper 傳送帶的輪子。Handler 傳送帶上貨物的入口和出口。Message 傳送帶上的貨物。MessageQueue 傳送帶的皮帶。 基礎知識 一個Thread只有一個Looper,一…

滑動窗口2

1. 水果成籃(904) 題目描述: 算法原理: 根據題目意思,friuts表示第i棵樹上的水果種類,然后我們有兩個籃子去在這些樹上去采水果,但是有限制就是一個籃子里就只能裝一種水果,也就是…

矩陣運算在數據分析中的應用

矩陣運算在數據分析中的應用 大家好,我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿! 矩陣運算作為數學和計算機科學中的重要概念,在數據分析和科學計算中發…

elasticsearch源碼分析-03選舉集群狀態

選舉集群狀態 es中存儲的數據有一下幾種,state元數據、lucene索引文件、translog事務日志 元數據信息可以分為: 集群層面的元信息-對應著metaData數據結構,主要是clusterUUid、settings、templates等索引層面的元信息-對應著indexMetaData數…

RK35x8通過TFTP下載內核到開發板

對于有網線接口的RK35X8開發板,調試時候,可以通過網線下載內核鏡像和設備樹到開發板,不用每次修改驅動都要重新打開下載工具,進入下載模式。通過TFTP可以大大提高調試效率。 在ubuntu安裝TFTP服務 安裝tftp服務器 sudo apt-get…

【面試系列】前端開發工程師高頻面試題及詳細解答

歡迎來到我的博客,很高興能夠在這里和您見面!歡迎訂閱相關專欄: ?? 全網最全IT互聯網公司面試寶典:收集整理全網各大IT互聯網公司技術、項目、HR面試真題. ?? AIGC時代的創新與未來:詳細講解AIGC的概念、核心技術、…

Python商務數據分析知識專欄(二)——Python數據分析基礎

Python商務數據分析知識專欄(二)——Python數據分析基礎 一、Python數據分析概述二、Numpy數值計算基礎專欄二(Python數據分析基礎)的總結 與 專欄三(Python數據分析的應用)開端 一、Python數據分析概述 二…

【筆記】Spring Cloud Gateway 實現 gRPC 代理

Spring Cloud Gateway 在 3.1.x 版本中增加了針對 gRPC 的網關代理功能支持,本片文章描述一下如何實現相關支持.本文主要基于 Spring Cloud Gateway 的 官方文檔 進行一個實踐練習。有興趣的可以翻看官方文檔。 由于 Grpc 是基于 HTTP2 協議進行傳輸的,因此 Srping …

深度學習之Transformer模型的Vision Transformer(ViT)和Swin Transformer

Transformer 模型最初由 Vaswani 等人在 2017 年提出,是一種基于自注意力機制的深度學習模型。它在自然語言處理(NLP)領域取得了巨大成功,并且也逐漸被應用到計算機視覺任務中。以下是兩種在計算機視覺領域中非常重要的 Transformer 模型:Vision Transformer(ViT)和 Swi…

git 個人常見錯誤備注

問題1:all conflict fixed but you are still merging。。。。。 如果你已經解決了所有沖突,但 Git 仍然提示你正在進行合并,可能是因為你還沒有完成合并過程。以下是詳細步驟,確保你正確完成合并并提交更改: 確認所…

Tongsuo(銅鎖)項目介紹 - 實現國密SSL協議

文章介紹 銅鎖(Tongsuo)是一個提供現代密碼學算法和安全通信協議的開源基礎密碼庫,為存儲、網絡、密鑰管理、隱私計算、區塊鏈等諸多業務場景提供底層的密碼學基礎能力,實現數據在傳輸、使用、存儲等過程中的私密性、完整性和可認證性,為數據生命周期中的隱私和安全提供保…