我写了一个解密类读取properties里面的数据库帐号和密码然后解密,为什么在需要操作数据库的时候,拿的还是我加密的密文,而没经过解密的方法了?有什么办法可以让spring去拿的是解密后的帐号密码,而不是密文
------解决方案--------------------
提供个比较使用的读取某种命名类型的properties文件都Map中:
使用:PropertiesUtils.getAll();
- Java code
package com.commons;import java.io.IOException;import java.io.InputStreamReader;import java.io.Reader;import java.util.HashMap;import java.util.Map;import java.util.Properties;import org.springframework.core.io.Resource;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.core.io.support.ResourcePatternResolver;public class PropertiesUtils { private static ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); private static final String DEFAULT_RESOURCE_PATTERN = "classpath:*-tag.properties"; private static final Map<Object, Object> all = new HashMap<Object, Object>(); public static Map<Object, Object> getAll() { return all; } static { try { Resource[] resources = resourcePatternResolver .getResources(DEFAULT_RESOURCE_PATTERN); if (resources != null) { for (Resource r : resources) { Reader in = new InputStreamReader(r.getInputStream(), "UTF-8"); Properties p = new Properties(); p.load(in); all.putAll(p); in.close(); } } } catch (IOException e) { e.printStackTrace(); } }}