日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Spring Boot 在啟動時進行配置文件加解密的方法詳解

瀏覽:154日期:2023-09-02 10:35:51
尋找到application.yml的讀取的操作。 從spring.factories 中查看到

# Application Listenersorg.springframework.context.ApplicationListener=org.springframework.boot.context.config.ConfigFileApplicationListener, ConfigFileApplicationListener 該對象對application.yml進行讀取操作 ConfigFileApplicationListener 事件的監(jiān)聽器, 繼承了SmartApplicationListener接口 SmartApplicationListener 接口繼承了ApplicationListener 和 Ordered接口,能夠?qū)崿F(xiàn)有序監(jiān)聽。

一、SmartApplicationListener介紹

Spring ApplicationEvent以及對應(yīng)的Listener提供了一個事件監(jiān)聽、發(fā)布訂閱的實現(xiàn),內(nèi)部實現(xiàn)方式是觀察者模式,可以解耦業(yè)務(wù)系統(tǒng)之間的業(yè)務(wù),提供系統(tǒng)的可拓展性、復(fù)用性以及可維護性。 在application.yml文件讀取完會觸發(fā)一個事件ConfigFileApplicationListener 該監(jiān)聽器實現(xiàn)文件的讀取。 SmartApplicationListener是高級監(jiān)聽器,是ApplicationListener的子類,能夠?qū)崿F(xiàn)有序監(jiān)聽 SmartApplicationListener提供了兩個方法:

/** * 指定支持哪些類型的事件 */boolean supportsEventType(Class<? extends ApplicationEvent> var1);/** * 指定支持發(fā)生事件所在的類型 */boolean supportsSourceType(Class<?> var1);

如何在 SmartApplicationListener 實現(xiàn)監(jiān)聽解耦

1、我們只需在加載完成之后去加入一個監(jiān)聽器。2、繼承SmartApplicationListener接口3、設(shè)置order屬性決定監(jiān)聽器的順序 ConfigFileApplicationListener.DEFAULT_ORDER + 14、將application.yml內(nèi)容讀取之后并修改

二、ConfigFileApplicationListener

ConfigFileApplicationListener 是用來 讀取配置文件的。 可以這樣來粗劣的介紹一下 詳情可以請看 springboot啟動時是如何加載配置文件application.yml文件

三、最終結(jié)果:

新增一個監(jiān)聽器 既然我們要在配置文件加載之后搞事情那么我們直接復(fù)制ConfigFileApplicationListener 的實現(xiàn)方式 刪除一下不需要處理的操作(大概就是以下代碼) 并且order在ConfigFileApplicationListener 之后

public class AfterConfigListener implements SmartApplicationListener,Ordered { public boolean supportsEventType(Class<? extends ApplicationEvent> eventType) { return ApplicationEnvironmentPreparedEvent.class.isAssignableFrom(eventType) || ApplicationPreparedEvent.class.isAssignableFrom(eventType); } public void onApplicationEvent(ApplicationEvent event) { if (event instanceof ApplicationEnvironmentPreparedEvent) { } if (event instanceof ApplicationPreparedEvent) { } } @Override public int getOrder() { // 寫在加載配置文件之后 return ConfigFileApplicationListener.DEFAULT_ORDER + 1; }} 這樣子就完成了配置文件之后的代碼監(jiān)聽。 SmartApplicationListener又是實現(xiàn)了ApplicationListener的監(jiān)聽的,那么我們可以在onApplicationEvent執(zhí)行代碼。 完善代碼如下。 監(jiān)聽并且獲取配置文件內(nèi)容

public class AfterConfigListener implements SmartApplicationListener,Ordered { // 復(fù)制的ConfigFileApplicationListener文件內(nèi)容 public boolean supportsEventType(Class<? extends ApplicationEvent> eventType) { return ApplicationEnvironmentPreparedEvent.class.isAssignableFrom(eventType) || ApplicationPreparedEvent.class.isAssignableFrom(eventType); } public void onApplicationEvent(ApplicationEvent event) { // ApplicationEnvironmentPreparedEvent 是加載配置文件,初始化日志系統(tǒng)的事件。 if (event instanceof ApplicationEnvironmentPreparedEvent) { // 獲得原來的password內(nèi)容 String password = ((ApplicationEnvironmentPreparedEvent) event).getEnvironment().getProperty('spring.datasource.password'); // 進行密碼的解密 System.setProperty('spring.datasource.password', SM4Utils.encryptData_ECB(password)); } if (event instanceof ApplicationPreparedEvent) { } } @Override public int getOrder() { // 設(shè)置該監(jiān)聽器 在加載配置文件之后執(zhí)行 return ConfigFileApplicationListener.DEFAULT_ORDER + 1; }} 并且在main方法中加入該監(jiān)聽器

public class Application { public static void main(String[] args) { SpringApplication springApplication = new SpringApplication(Application.class); springApplication.addListeners(new AfterConfigListener()); springApplication.run(args); }}

總結(jié)

到此這篇關(guān)于Spring Boot 在啟動時進行配置文件加解密的文章就介紹到這了,更多相關(guān)Spring Boot配置文件加解密內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本不卡高清| 视频一区二区三区中文字幕| 久久久久久夜| 在线精品国产亚洲| 国产91在线精品| 精品一区二区三区的国产在线观看| 日韩成人午夜精品| 日本午夜精品一区二区三区电影| 日韩精品久久理论片| 日韩毛片一区| 国产精品久久久久久模特 | 日韩中文字幕视频网| 日韩制服丝袜先锋影音| 亚洲一二三区视频| 视频一区视频二区中文| 亚洲图片久久| 91精品啪在线观看国产爱臀| 欧美一区二区三区免费看| 久久精品99久久久| 麻豆成人av在线| 国产精品毛片久久| 午夜欧美视频| 亚洲欧美网站在线观看| 91精品国产自产精品男人的天堂| 国产精品99久久久久久董美香| 国产一区二区三区久久 | 色婷婷色综合| 久久婷婷亚洲| 久久亚洲二区| 国产亚洲久久| a日韩av网址| 99国产精品私拍| 日本不卡在线视频| 精品视频在线观看网站| 久久一区二区中文字幕| 首页亚洲欧美制服丝腿| 国产精品一区二区三区av麻| 岛国精品一区| 欧美成人久久| 亚洲ww精品| 精品久久91| 美女网站一区| 日韩极品在线观看| 另类亚洲自拍| 91成人在线| 四虎成人av| 久久亚洲不卡| 国内精品伊人| 另类亚洲自拍| 国内自拍视频一区二区三区| 久久国产电影| 亚洲精品激情| 国产精品久久久久久久免费观看 | 午夜电影一区| 国产一区二区三区探花| 99日韩精品| 欧美国产不卡| 性欧美长视频| 丁香婷婷久久| 日本一不卡视频| 91精品一区二区三区综合在线爱| 91成人在线网站| 欧美福利专区| 日韩免费精品| 久久免费黄色| 国产精品亚洲欧美一级在线| 激情偷拍久久| 美女毛片一区二区三区四区最新中文字幕亚洲 | 国产高清一区二区| 国产精品一区二区99| 久久精品青草| 欧美日韩一区二区三区四区在线观看| 国产在线观看www| 日韩在线观看一区二区三区| 亚洲国产欧美日本视频| 日韩欧美2区| 黄色日韩在线| 国产在线视频欧美一区| 日韩av不卡一区二区| japanese国产精品| 国内在线观看一区二区三区| 国产精选在线| 日产欧产美韩系列久久99| 亚洲综合电影| 亚洲综合丁香| www.51av欧美视频| 91精品国产自产观看在线| 欧美粗暴jizz性欧美20| 国产一区2区在线观看| 蜜桃一区二区三区在线| 欧美亚洲国产一区| 国产成人精品一区二区三区视频| 视频国产精品| 蜜桃免费网站一区二区三区| 亚洲大全视频| 三级精品视频| 国产夫妻在线| 久久精品国产成人一区二区三区| 五月亚洲婷婷 | 国产一区二区精品久| 午夜精品影视国产一区在线麻豆| 蜜桃视频在线网站| 久久精品伊人| 国产日韩一区二区三区在线 | 亚洲精品成人一区| 久久中文字幕二区| 国产一区一一区高清不卡| 国产色噜噜噜91在线精品| 一区二区不卡| 免费观看在线综合| 亚洲在线一区| 国产精品嫩草99av在线| 成人美女视频| 精品国产欧美日韩一区二区三区| 国产精品亚洲人成在99www| 日韩精品成人在线观看| 涩涩涩久久久成人精品| 亚洲精一区二区三区| 首页亚洲欧美制服丝腿| 日韩精品一区第一页| 奶水喷射视频一区| 美女91精品| 蜜桃视频一区二区三区在线观看| 免费欧美在线视频| 中文字幕av亚洲精品一部二部 | 在线一区电影| 亚洲高清毛片| 国产国产精品| 影音先锋久久| 国产日韩欧美一区在线| 一二三区精品| 日本不卡高清视频| 国产精品主播| 麻豆成人av在线| 综合国产精品| 免费成人在线影院| 午夜影院欧美| 亚洲一区亚洲| 亚洲先锋成人| 久久精品卡一| 午夜欧美理论片| 亚洲欧美高清| 蜜桃伊人久久| 奇米色欧美一区二区三区| 日韩亚洲精品在线观看| 日韩国产欧美三级| 国产情侣久久| 国产一区二区三区精品在线观看| 亚洲欧洲高清| 亚洲一级高清| 伊人精品久久| 欧美日一区二区在线观看| 国产精品久久久久av蜜臀| 国产精品亚洲四区在线观看 | 欧美特黄一区| 久久aⅴ国产紧身牛仔裤| 在线观看视频免费一区二区三区| 国产午夜久久av| 97精品一区| 妖精视频成人观看www| 日韩久久99| 国产在线视频欧美一区| 午夜影院欧美| 欧美一区二区三区久久精品| 97视频热人人精品免费| 神马午夜久久| 亚洲天堂av资源在线观看| 欧美精品第一区| 久久影视一区| 日韩精品视频中文字幕| 精品久久网站| 亚州av乱码久久精品蜜桃| 日韩综合一区二区| 色综合狠狠操| 男女男精品网站| 精品一区二区男人吃奶| 九一精品国产| 国产精品一区二区精品| 国产麻豆久久| 亚洲精品大全| 精品资源在线| 亚洲欧美日韩高清在线| 国产日韩高清一区二区三区在线 | 欧美国产免费| 国产字幕视频一区二区| 欧美一区网站| 国产一区清纯| 麻豆精品久久久| 亚洲一区有码| 99久久夜色精品国产亚洲狼| 欧美一级二区| 1024精品久久久久久久久| 国产精品成人一区二区网站软件| 精品一区毛片| 日精品一区二区三区| 久久久久99| 国产精品日韩精品中文字幕| 免费视频国产一区| 久久久久亚洲精品中文字幕| 亚洲一区二区毛片|