次のような単純なアイテムライターがあります。
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" に設定されず、null のままになります。不足しているものはありますか?
春バッチ バージョン: 2.1.0.M3
春バージョン: 3.1.0.RELEASE