gpt4 book ai didi

java - 使用 ref-bean 设置 spring bean 属性值

转载 作者:行者123 更新时间:2023-11-30 06:36:36 25 4
gpt4 key购买 nike

我正在尝试使用 spring 设置属性值。

<bean id="velocityPropsBean" class="com.test.CustomProperties" abstract="false" singleton="true" lazy-init="false" autowire="default" dependency-check="default">
<property name="properties">
<props>
<prop key="resource.loader">file</prop>
<prop key="file.resource.loader.cache">true</prop>
<prop key="file.resource.loader.class">org.apache.velocity.runtime.resource.loader.FileResourceLoader</prop>
<prop key="file.resource.loader.path">NEED TO INSERT VALUE AT STARTUP</prop>

</props>

</property>
</bean>

<bean id="velocityResourcePath" class="java.lang.String" factory-bean="velocityHelper" factory-method="getLoaderPath"/>

现在我需要做的是将 getLoaderPath 的结果插入到 file.resource.loader.path 中。 getLoaderPath 的值发生变化,因此必须在服务器启动时加载它。

有什么想法可以将 velocityResourcePath 值插入到属性中吗?

最佳答案

使用Spring 3,可以跳过中间阶段,直接使用SpringEL调用工厂:

<prop key="file.resource.loader.path">#{ velocityHelper.loaderPath }</prop>

或许

<prop key="file.resource.loader.path">#{ velocityHelper.getLoaderPath() }</prop>

这会让您删除 velocityResourcePath bean。

关于java - 使用 ref-bean 设置 spring bean 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4675192/

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