我有一个简单的项目编写器,如下所示:
public class EntityItemWriter<T> implements ItemWriter<T>, InitializingBean {
private String name;
@Override
public void write(List<? extends T> items) throws Exception {
//writes to db
}
@Override
public void afterPropertiesSet() throws Exception {
Assert.hasLength(name); //assertion fails
}
public void setName(String name) {
this.name = name;
}
}
我的 job-definition.xml 有一个这样的 bean:
<bean id="EntityItemWriter" class="com.example.EntityItemWriter" scope="step">
<property name="name" value="someRandomString" />
</bean>
当批处理作业处于写入步骤时,EntityItemWriter 的 name 属性未设置为“someRandomString”并保持为空。有什么我想念的吗?
spring-batch 版本:2.1.0.M3
spring 版本:3.1.0.RELEASE