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中你需要加密/解密的地方加上你的方法即可.比如说在密码处进行解密:



JNDI加密用户名密码