2013-06-19 42 views
0

我想從數據庫動態地傳遞屬性值標記中的值。這在春季可能嗎?如何 ?如何在配置文件中動態地傳遞值

例如在下面的配置中。

<bean id="proxyFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"> 
    <property name="serviceClass" value="WSDLURL"/> 
    <property name="address" value="WSDLURL"/> 
    <property name="username" value="username"/> 
    <property name="password" value="password"/> 
    </bean> 

我想上面提到的豆與ID "proxyFactory",即從DB採取這裏動態傳遞<WSDLURL><username><password>屬性。

回答

-1

您可以使用包含鍵值對的屬性文件名設置屬性佔位符。

<context:property-placeholder location="config.properties" />

config.properties文件看起來像:

wsdl.url = http://server:8080/ServiceAccessPoint 
webservice.username = guest 
webservice.passward = guest123 

現在你可以修改你的bean定義使用$ {}鍵

<bean id="proxyFactory" 
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"> 
<property name="serviceClass" value="${wsdl.url}"/> 
<property name="address" value="${wsdl.url}"/> 
<property name="username" value="${webservice.username}"/> 
<property name="password" value="${webservice.password}"/> 

+0

-1:但他是問」 ......取從DB ...「 – Betlista

+0

嗨manjunath ..謝謝,但正如我所提及的和@Betlista重申..我想從DB – user2500313

1

你可以寫另一個Java類,並將其作爲應用程序上下文中的一個bean並使用Spri ng表達式語言,您已評估並獲取方法調用的輸出。

XML配置:

<property name="serviceClass" 
       value="#{webServiceInfoFromDB.wsdlUrl}" /> 
<property name="username" 
       value="#{webServiceInfoFromDB.username}" /> 

WeServiceInfoFromDB.java類:在應用程序上下文

class WebServiceInfoFromDB { 

    public String getWsdlUrl() { 
     // Get the Wsdl URL from DB. 
     return wsdlUrl; 
    } 

    public String getUsername(){ 
     // get the username from DB 
     return username; 
    } 

XML配置:

<bean id="webServiceInfoFromDB" class="WebServiceInfoFromDB"> 
    <property name="dataSource" ref="dataSource"/> 
</bean> 
+0

好多了;-) – Betlista

相關問題