您好我使用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的返回类型匹配?
请尽快帮助解决此问题
谢谢
答案 0 :(得分:3)
问题是org.apache.commons.dbcp.BasicDataSource没有“setDatasource”方法。但它确实有一个受保护的字段“datasource”,您可以通过子类化并提供一个setter来公开它。