2012-07-31 97 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> 

這是您要找的東西嗎?