如何在spring中重写JndiObjectFactoryBean并在java中设置解密密码

2023-12-07

我在 tomcat 中有一个数据源,它的密码是使用某种算法加密的,我想在与数据库建立连接时解密相同的密码。

以下是我的 spring 配置代码

<!--<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="${jdbc.jndiName}"/>
</bean>-->

<bean id="dataSource" class="my.app.util.EncryptedDataSource">
    <property name="jndiName" value="${jdbc.jndiName}"/>
</bean>

上面的 bean 是一个扩展 JndiObjectFactoryBean 的自定义 bean

public class EncryptedDataSource extends JndiObjectFactoryBean{ ... }

我应该在这里做什么来获取加密的密码并将其设置回来。 我有解密算法,但我不确定哪个超类方法会获取我可以再次设置的密码。

请建议,我已经搜索并尝试了很多。


我发现,我没有重写 JndiBeanFacotry,而是使用了 tomcat 数据源“工厂”属性,它允许您拥有一个自定义资源工厂类,每次实例化数据源查找时都会调用该自定义资源工厂类。

下面的链接指定了逐步配置,

http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html

“添加自定义资源工厂”部分强调如何编写简单的自定义资源工厂。

Thanks.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在spring中重写JndiObjectFactoryBean并在java中设置解密密码 的相关文章

随机推荐