gpt4 book ai didi

java - 如何在 spring 中覆盖 JndiObjectFactoryBean 并在 java 中设置解密密码

转载 作者:行者123 更新时间:2023-11-28 22:18:40 27 4
gpt4 key购买 nike

我在 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{ ... }

这里应该怎么做才能得到加密后的密码并重新设置呢?我有我的解密算法,但我不确定哪个父类(super class)方法会为我获取我可以重新设置的密码。

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

最佳答案

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

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

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

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

谢谢。

关于java - 如何在 spring 中覆盖 JndiObjectFactoryBean 并在 java 中设置解密密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32387651/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com