2011-02-23 41 views
0

您好我正在使用spring config.xml配置我的嵌入式數據庫hsqldb。我的Spring配置是如下:如何解決org.springframework.beans.NotWritablePropertyException

<jdbc:embedded-database id="dataSource" type="HSQL"> 
    <jdbc:script location="classpath:schema.sql" /> 

</jdbc:embedded-database> 
<bean id="adapterDataSource" class="org.apache.commons.dbcp.BasicDataSource" 
    destroy-method="close"> 
    <property name="datasource" ref="dataSource"></property> 
    <property name="driverClassName" value="org.hsqldb.jdbcDriver" /> 
    <property name="url" value="jdbc:hsqldb:file:data/db/lmexadapter_db" /> 
    <property name="username" value="sa" /> 
    <property name="password" value="" /> 
</bean> 

運行時運行我的器件的應用,其使用上述彈簧config.xml中它給我的以下異常:

org.springframework.beans.NotWritablePropertyException :bean類的無效屬性'datasource'[org.apache.commons.dbcp.BasicDataSource]:Bean屬性'datasource'不可寫或具有無效的setter方法。 setter的參數類型是否與getter的返回類型相匹配?

請幫忙儘快

解決此謝謝

回答

3

的問題是,org.apache.commons.dbcp.BasicDataSource沒有一個「的setDataSource」方法。它確實有一個受保護的字段「datasource」,然而,你可以通過繼承和提供setter來公開它。

+0

我已經通過使用bean的依賴屬性解決了上述問題,現在我遇到了用戶未找到「SA」的問題,我該如何解決這個問題 – Chitresh 2011-02-23 05:55:49