2016-05-27 55 views
1

我有一個從項目處理器返回的對象。從平面文件項目寫入器提取特定屬性

public class PcdRateMapper 
{ 
    private Pcdrate pcdRate; 
    private Boolean isValidPcdRate; 

    public PcdRateMapper() 
    { 
     // pcdRate = new Pcdrate(); 
    } 

    public Pcdrate getPcdRate() 
    { 
     return pcdRate; 
    } 

    public void setPcdRate (Pcdrate pcdRate) 
    { 
     this.pcdRate = pcdRate; 
    } 

    public Boolean getIsValidPcdRate() 
    { 
     return isValidPcdRate; 
    } 

    public void setIsValidPcdRate (Boolean isValidPcdRate) 
    { 
     this.isValidPcdRate = isValidPcdRate; 
    } 

現在我想在我的項目編寫器中只提取Pcdrate對象值。我怎樣才能做到這一點。目前我正在使用以下彈簧配置,但獲取無效的屬性異常。提前致謝。

< 

property name="lineAggregator"> 
      <bean 
       class="org.springframework.batch.item.file.transform.DelimitedLineAggregator"> 
       <property name="delimiter" value="," /> 
       <property name=""></property> 
       <property name="fieldExtractor"> 
        <bean 


    class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor"> 
          <property name=""></property> 
          <property name="names" 
           value="company, subcoy" /> 
         </bean> 
        </property> 
       </bean> 
       </property> 

回答

1

無效屬性異常可能從

<property name=""></property> 

其中屬性名稱爲空字符串幹。你在上面的代碼中有兩次,刪除它。

您的xml結構似乎無效,請參閱spring_bean_definition 以瞭解它的外觀。

對於BeanWrapperFieldExtractor類型的bean,您必須將屬性'names'設置爲您想extraxt的屬性名稱,在您的情況'pcdRate'中。

應該像這樣被配置:

<bean class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor"> 
    <property name="names" value="pcdRate" /> 
</bean> 
相關問題