2012-07-31 151 views
0

我有一个Java类MySettings,它从JSON文件/数据库/其他文件加载我的应用程序的属性。从Java代码填充弹簧“属性”

我已将MySettings配置为Spring上下文中的bean。

<bean id="mySettings" class="com.myapp.MySettings" /> 

我现在想在Spring上下文文件中使用的值中的一个mySettings的东西,不支持规划环境地政司,像Spring集成登录通道适配器,例如

<int:logging-channel-adapter id="logMessageToRemote" 
    logger-name="toRemote" level="#{mySettings.getRemoteLogLevel}" 
    expression="payload" /> 

有没有一种方法可以设置一个可以使用SpEL填充的“属性”?

回答

2

从春天文档http://static.springsource.org/spring/docs/3.0.5.RELEASE/reference/expressions.html#expressions-beandef

您还可以通过名字引用其他bean的属性,例如。

<bean id="numberGuess" class="org.spring.samples.NumberGuess"> 
    <property name="randomNumber" value="#{ T(java.lang.Math).random() * 100.0 }"/> 
    <!-- other properties --> 
</bean> 


<bean id="shapeGuess" class="org.spring.samples.ShapeGuess"> 
    <property name="initialShapeSeed" value="#{ numberGuess.randomNumber }"/> 
    <!-- other properties --> 
</bean> 

这是您要找的东西吗?