我在bean xml文件中有一个简单的bean标记,如下所示。这只是一个虚拟值
<bean id="myBeanId" class="myBeanClass">
<property name="myProperty" value=${myPassword} />
</bean>
<bean id ="myOtherBeanId" class="myOtherBeanClass">
<property name="myOtherProperty" ref="myBeanId">
</bean>
myPassword是存储在单独属性文件中的变量名。现在,我不是从属性文件中存储myPassword的直接值,而是在属性文件中有加密字符串,我想在myPassword属性上调用我自定义的写入Decrypt方法。像这样的东西。
<bean id="myBeanId" class="myBeanClass">
<property name="myProperty" value=com.xxx.Security.Decrypt(${myPassword}) />
</bean>
我该怎么做?
答案 0 :(得分:1)
如果要调用另一个bean的方法并将返回的对象用作bean,请使用MethodInvokingFactoryBean。
<bean id="securityBean" class="com.xxx.Security">
</bean>
<bean id="myBeanId" class="myBeanClass">
<property name="myProperty">
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetObject"><ref local="securityBean"/></property>
<property name="targetMethod"><value>Decrypt</value></property>
<property name="arguments">
<list>
<value>${myPassword}</value>
</list>
</property>
</bean>
</property>
</bean>
答案 1 :(得分:0)
如何使用jaspyt
,
属性文件条目 密码= ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)
Bean Entry
<bean id="myBeanId" class="myBeanClass">
<property name="myProperty" value=${password} />
</bean>