如何解决org.springframework.beans.NotWritablePropertyException

时间:2011-02-23 05:03:41

标签: spring hsqldb

您好我使用spring config.xml来配置我的嵌入式数据库hsqldb。我的春季配置如下:

<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>

当运行我的应用程序时,使用上面的spring config.xml,它给我一个例外,如下所示:

org.springframework.beans.NotWritablePropertyException:bean类的无效属性'datasource'[org.apache.commons.dbcp.BasicDataSource]:Bean属性'datasource'不可写或具有无效的setter方法。 setter的参数类型是否与getter的返回类型匹配?

请尽快帮助解决此问题

谢谢

1 个答案:

答案 0 :(得分:3)

问题是org.apache.commons.dbcp.BasicDataSource没有“setDatasource”方法。但它确实有一个受保护的字段“datasource”,您可以通过子类化并提供一个setter来公开它。