0

我最近将项目中的 BeanIO 从 1.2.3 升级到 2.0.6,作为升级的一部分,我必须修改一些使用 Bean 元素开始使用 Segment 元素的映射。

但我注意到的是,以前如果流中的一行必须有小字段,beanio 仍然会初始化映射中 bean 元素中定义的对象。就像现在在相同的场景中,应该使用对象设置的属性被简单地设置为 null。

旧代码有效并使用空的 Test 对象填充了 testName 属性:

    <bean name="testName" class="com.project.Test">
      <field name="test1" type="string" default=""/>
      <field name="test2" type="string" default=""/>
    </bean>

不初始化 Test 对象并将 testName 属性设置为 null 的新代码:

    <segment name="testName" class="com.project.Test" minOccurs="0">
      <field name="test1" type="string" default="" minOccurs="0"/>
      <field name="test2" type="string" default="" minOccurs="0"/>
    </segment>

有没有办法强制 Segment 元素总是初始化一个对象?(是的,我确实需要保留 minOccurs="0" ,如果我删除它,它不会解决问题)

谢谢,

4

1 回答 1

0

尝试在类路径的根目录中设置org.beanio.createMissingBeans=true一个文件。beanio.properties

于 2014-04-23T04:07:42.800 回答