我在spring.io中查看一个Spring-batch示例源代码 - 创建Batch Servie。
在示例中,有一个如下代码
@Bean
public ItemReader<Person> reader() {
FlatFileItemReader<Person> reader = new FlatFileItemReader<Person>();
reader.setResource(new ClassPathResource("sample-data.csv"));
reader.setLineMapper(new DefaultLineMapper<Person>() {{
setLineTokenizer(new DelimitedLineTokenizer() {{
setNames(new String[] { "firstName", "lastName" });
}});
setFieldSetMapper(new BeanWrapperFieldSetMapper<Person>() {{
setTargetType(Person.class);
}});
}});
return reader;
}
我想知道的是&#34; {{&#34;。那是java标准代码吗? 我怎么称呼它?我想谷歌,但不知道我要搜索什么......
答案 0 :(得分:1)
让我们考虑一下文本的简化部分
= new DelimitedLineTokenizer() {
{
setNames(new String[] { "firstName", "lastName" });
}
});
代码意味着我们扩展DelimitedLineTokenizer引入匿名内部类和内部块{}我们只调用带有预定义数组的setNames()方法。
我们也可以这样做
DelimitedLineTokenizer tokenizer= new DelimitedLineTokenizer();
tokenizer.setNames(new String[] { "firstName", "lastName" });