spring配置文件加密方法示例
Spring的配置文件是用于指導(dǎo)Spring工廠進(jìn)行Bean生成、依賴關(guān)系注入及Bean示例分發(fā)的”圖紙”,他是一個或多個標(biāo)磚的XML文檔,J2EE程序員必須學(xué)會靈活應(yīng)用這份”圖紙”,準(zhǔn)確的表達(dá)自己的”生成意圖”。Spring配置文件是一個或多個標(biāo)準(zhǔn)的XML文檔,applicationContext.xml是Spring的默認(rèn)配置文件,當(dāng)容器啟動時找不到指定的配置文檔時,將會嘗試加載這個默認(rèn)的配置文件。
spring框架在一些對安全性要求較高的生產(chǎn)環(huán)境下,配置文件不允許出現(xiàn)明文用戶名密碼配置,如數(shù)據(jù)庫配置等。本文主要用于解決明文用戶名密碼加密。
通過繼承spring配置類并重寫處理方法實(shí)現(xiàn)密文解密
public class EncryptPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
private String[] encryptPropNames = {"username", "password"};
@Override
protected void processProperties(ConfigurableListableBeanFactory beanFactory,
Properties props) throws BeansException {
try {
for (int i = 0;i<encryptPropNames.length;i++){
String value = props.getProperty(encryptPropNames[i]);
if (value != null) {
props.setProperty(encryptPropNames[i],new String(DES.decrypt(new BASE64Decoder().decodeBuffer(value), "解密秘鑰")));
}
}
super.processProperties(beanFactory, props);
} catch (Exception e) {
e.printStackTrace();
throw new BeanInitializationException(e.getMessage());
}
}
}
配置applicationContext.xml文件,并在jdbc.properties中設(shè)置密文(根據(jù)解密秘鑰生成)
<!-- class填寫剛才那段代碼的類路徑-->
<bean id="propertyConfigurer" class="com.**.EncryptPropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
</list>
</property>
</bean>
總結(jié)
以上就是本文關(guān)于spring配置文件加密方法示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:
Java編程實(shí)現(xiàn)springMVC簡單登錄實(shí)例
SpringMVC開發(fā)restful API之用戶查詢代碼詳解
如有不足之處,歡迎留言指出。感謝朋友們對本站的支持。
相關(guān)文章
spring中@ControllerAdvice 注解的使用
@ControllerAdvice注解是Spring3.2中新增的注解,主要用于Controller的全局配置,本文就來介紹一下spring中@ControllerAdvice 注解的使用,感興趣的可以了解一下2024-09-09
idea熱部署且開啟自動編譯的實(shí)現(xiàn)方法
這篇文章主要介紹了idea熱部署且開啟自動編譯的實(shí)現(xiàn)方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
關(guān)于spring項(xiàng)目中無法加載resources下文件問題及解決方法
在學(xué)習(xí)Spring過程中,TestContext框架試圖檢測一個默認(rèn)的XML資源位置,再resources下創(chuàng)建了一個com.example的文件夾,執(zhí)行時,報(bào)錯,本文給大家介紹spring項(xiàng)目中無法加載resources下文件,感興趣的朋友跟隨小編一起看看吧2023-10-10
mybatis參數(shù)類型不匹配錯誤argument type mismatch的處理方案
這篇文章主要介紹了mybatis參數(shù)類型不匹配錯誤argument type mismatch的處理方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
Spring Cloud根據(jù)服務(wù)名獲取服務(wù)的ip端口問題
這篇文章主要介紹了Spring Cloud根據(jù)服務(wù)名獲取服務(wù)的ip端口,本篇示例我就以Nacos注冊中心為例了,下面是我注冊的兩個服務(wù),需要的朋友可以參考下2022-09-09
spring cloud gateway請求跨域問題解決方案
這篇文章主要介紹了spring cloud gateway請求跨域問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
如何通過java實(shí)現(xiàn)highcharts導(dǎo)出圖片至excel
這篇文章主要介紹了如何通過java實(shí)現(xiàn)highcharts導(dǎo)出圖片至excel。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面我們就來一起學(xué)習(xí)一下吧2019-06-06

