我有一个小项目,用于学习 Spring Batch。我想从 Oracle 数据库读取数据并写入 XML 文件,但出现错误:
创建名为“step1”的 bean 时出错:设置 bean 属性“jobRepository”时无法解析对 bean“jobRepository”的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类路径资源 [Spring/batch/config/spring-batch-contextOriginal.xml] 中定义名称为“jobRepository”的 bean 创建时出错:设置属性值时出错;嵌套异常是 org.springframework.beans.NotWritablePropertyException: Invalid property 'dataSource' of bean class [org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean]: Bean 属性 'dataSource' 不可写或具有无效的 setter 方法。setter 的参数类型是否与 getter 的返回类型匹配?
我想我把所有东西都放进去了,但我认为这个错误最重要的东西是:spring-batch-context.xml
和spring-datasource.xml
。我错过了什么还是有什么问题?如果您需要更多详细信息,请告诉我。谢谢你。(我在不使用数据库的情况下尝试了该示例,并且效果很好。)
spring-batch-context.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<import resource="../jobs/jobPerson.xml"/>
<import resource="../config/spring-datasource.xml" />
<!-- <context:annotation-config />
<tx:annotation-driven transaction-manager="transactionManager"/>a PlatformTransactionManager is still required
-->
<!-- JobRepository and JobLauncher are configuration/setup classes -->
<bean id="jobRepository" class="org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean" >
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseType" value="oracle" />
</bean>
宝慕林4294392
相关分类