属性的初始化方法

时间:2018-06-29 14:53:47

标签: spring

我想声明一个初始化方法不是恒定值,而是取决于属性的bean:

<bean id="XXX" class="YYY" init-method="${some.property}"/>

我已经配置了PropertyPlaceholderConfigurer Bean,但是不幸的是spring尝试调用名为$ {some.property}的方法而不是属性值。

我应该配置什么才能通过some.property值来弹簧调用方法指针?

1 个答案:

答案 0 :(得分:0)

为此,您需要包括以下bean,并将属性文件的路径放在location属性中:

<bean class="org.springframework.beans.factory.config.PropertiesFactoryBean" id="appConfig">
    <property name="location" value="classpath:appConfig.properties"></property>
</bean>

假设您的属性文件包含以下条目:

init_method = test

然后,通过使用自己的代码段,您应该以这种方式引用上述属性:

<bean id="XXX" class="YYY" init-method="#{appConfig['init_method ']}"/>

appConfig必须与在第一个代码段中声明的bean的ID匹配