本文介紹了FlatFileParseException解析錯(cuò)誤-Spring批處理的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我遵循此tutorial,但收到FlatFileParseException錯(cuò)誤:
org.springframework.batch.item.file.FlatFileParseException:解析
資源=[類路徑資源[Country.csv]]中的第1行出錯(cuò),
INPUT=[AA,阿魯巴]
country.csv
AA,Aruba
BB,Baruba
這里是我的ItemReader方法
@Bean
public ItemReader<Country> reader() {
FlatFileItemReader<Country> reader = new FlatFileItemReader<Country>();
reader.setResource(new ClassPathResource("country.csv"));
reader.setLineMapper(new DefaultLineMapper<Country>() {{
setLineTokenizer(new DelimitedLineTokenizer() {{
setNames(new String[] { "countryCode", "countryName" });
}});
setFieldSetMapper(new BeanWrapperFieldSetMapper<Country>() {{
setTargetType(Country.class);
}});
}});
return reader;
}
和Country.java
@Entity
@Table(name="Country")
public class Country {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false, updatable = false)
Long id;
@Column(name = "countryCode", nullable = false, updatable = false)
String countryCode;
@Column(name = "countryName", nullable = false, updatable = false)
String countryName;
public Country(String countryCode, String countryName) {
this.countryCode = countryCode;
this.countryName = countryName;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCountryCode() {
return countryCode;
}
public void setCountryCode(String countryCode) {
this.countryCode = countryCode;
}
public String getCountryName() {
return countryName;
}
public void setCountryName(String countryName) {
this.countryName = countryName;
}
@Override
public String toString() {
return "countryCode: " + countryCode + ", countryName: " + countryName;
}
}
推薦答案
此處的問(wèn)題是您的Country類中缺少默認(rèn)的無(wú)參數(shù)構(gòu)造函數(shù)。
您正在使用BeanWrapperFieldSetMapper將FieldSet映射到對(duì)象。引用setTargetType(type)Javadoc:
每次調(diào)用
mapFieldSet(FieldSet)時(shí),將從其默認(rèn)構(gòu)造函數(shù)創(chuàng)建此類型的對(duì)象。
因此,您需要添加默認(rèn)構(gòu)造函數(shù)并為屬性提供相應(yīng)的getter/setter。
這篇關(guān)于FlatFileParseException解析錯(cuò)誤-Spring批處理的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,






