JNDI加密用户名密码
JNDI相关配置在META-INFO下面的context.xml里面 .而这个context.xml是不受spring的管理的,所以无法通过常规的bean工厂处理器进行修改.
下面提供一种方案:
重写BasicDataSourceFactory(org.apache.tomcat.dbcp.dbcp. BasicDataSourceFactory)
在你的context.xml中配置factory="org.apache.tomcat.dbcp.dbcp. BasicDataSourceFactory"
跟进org.apache.tomcat.dbcp.dbcp. BasicDataSourceFactory并copy一份源码出来,创建一个factory并重命名DecryptBasicDataSourceFactory
把factory指向自己创建的factory="com.xx.xx.DecryptBasicDataSourceFactory" .可能会出现BasicDataSource报错 找不到的情况
记住这个BasicDataSource需要导入的是import org.apache.tomcat.dbcp.dbcp.BasicDataSource; 如果缺少这个包就加入相关的包.
可以右键项目 ->build path ->add Library->server Runtime->Apache Tomcat 或者直接导入这个tomcat的包.
最后在DecryptBasicDataSourceFactory中你需要加密/解密的地方加上你的方法即可.比如说在密码处进行解密: