2013-10-25 85 views
0

我最近將項目中的BeanIO從1.2.3升級到2.0.6,並且作爲升級的一部分,我不得不修改一些映射,使用Bean元素開始使用Segment元素。始終在BeanIO 2.0中初始化一個對象

但是我注意到,以前如果流中的某一行必須有小字段,那麼beanio仍然會初始化映射中bean元素中定義的對象。現在在同一場景中,應該用對象設置的屬性簡單地設置爲null。

舊代碼,工作和居住的測試名屬性與空的測試對象:

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

新的代碼無法初始化測試對象並設置測試名屬性設置爲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」,沒有如果我刪除它,它並沒有解決問題)

THX,

專家組

回答

0

嘗試在beanio.properties文件中設置org.beanio.createMissingBeans=true在你的classpath的根目錄下。

+0

我嘗試過,因爲它應該在理論上工作,但事實並非如此。 – goe