栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Bean属性不可读或具有无效的getter方法:getter的返回类型是否与setter的参数类型匹配?春季批

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Bean属性不可读或具有无效的getter方法:getter的返回类型是否与setter的参数类型匹配?春季批

Spring试图

cutomerNumber
String
类中获取属性:

 Invalid property 'customerNumber' of bean class [java.lang.String]

这是错误的,因为

String
不应将组态为
item
您的工作步骤,
Item
在此情况下应将设定为
Customer

您的bean的配置正确,除了一个bean:

compositeItemReader

由于以下原因,此bean的read方法返回a

String
而不是a
Customer

public class CompositeCursorItemReader<T> implements ItemStreamReader<T> {private List<AbstractCursorItemReader<?>> cursorItemReaders;private UnifyingItemsMapper<T> unifyingMapper;@Overridepublic T read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException {    // read from all registered readers    List items = new ArrayList();    for (AbstractCursorItemReader<?> cursorItemReader : cursorItemReaders) {        items.add(cursorItemReader.read());    }    // delegate to mapper    return unifyingMapper.mapItems(items);}}

其属性UnifyingMapper配置如下:

  <property name="unifyingMapper">     <bean  />      </property>

这是

UnifyingItemsMapper
您正在使用的实现:

 public class DefaultUnifyingStringItemsMapper implements UnifyingItemsMapper<String> {        @Override    public String mapItems(List<?> items) throws Exception {        if (items != null && items.size() > 0) { StringBuilder sb = new StringBuilder(); for (Object item : items) {     if (item != null) {         sb.append(item);     } } if (sb.length() > 0) {     return sb.toString(); } else {     return null; }        } else { return null;        }    }}

解决方案是创建一个新类,

UnifyingItemsMapper<Customer>
为您实现并配置它
CompositeCursorItemReader#unifyingMapper

或者,

itemReader
如果您不需要
UnifyingItemsMapper
:,则直接使用您的:

 <job id="compositeJdbcReaderJob" xmlns="http://www.springframework.org/schema/batch">        <step id="compositeJdbcReaderStep" next="compositeJdbcReaderStep2"> <tasklet>     <chunk reader="itemReader1" writer="itemWriter" commit-interval="5" /> </tasklet>        </step>        <step id="compositeJdbcReaderStep2"> <tasklet>     <chunk reader="itemReader2" writer="itemWriter2" commit-interval="5" /> </tasklet>        </step>    </job>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498439.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号