Spring Batch 4.0 ÊÇ×Ô2014Äê 3.0 ·¢²¼ÒÔÀ´µÄÓÖÒ»¸öÖ÷Òª°æ±¾¡£3.0 ·¢²¼ÖÁ½ñ£¬Spring Éú̬ϵͳ·¢ÉúÁ˺ܴó±ä»¯£¬4.0 °æ±¾Ö¼ÔÚÈà Spring Batch ¸üÐÂÕâЩ±ä»¯¡£
New Baseline
Spring Batch 3 »ùÓÚ Spring Framework 4 £¬Spring Batch 4 ÖØÐÂÉóÊÓÁËËüµÄÒÀÀµ¹ØÏµÊ÷£¬½«ËüÓë¼´½«µ½À´µÄ Spring Boot 2 ÒÀÀµ¹ØÏµÊ÷½øÐÐÁ˸üУ¬°üÀ¨½« Spring Framework 5 ºÍ Java 8 ×÷Ϊ»ùÏßÒªÇó¡£
¸Ä½øµÄ Java ÅäÖÃ
ÈçǰËùÊö£¬Spring Batch 4 ÊÇ Spring Boot ·¢²¼ÒÔÀ´µÄµÚÒ»¸öÖ÷Òª°æ±¾¡£ÔÚÕâ¸ö°æ±¾ÖУ¬¸ÄÉÆÁËÈÃÓû§µÄ Java ÅäÖÃÌåÑé¡£ËùÓÐ ItemReader ºÍ ItemWriter ʵÏÖÏÖÔÚ¶¼¿ÉÒÔʹÓù¹½¨Æ÷¡£Ê¹Óà Spring Batch 3 µÄ Java ÅäÖù¦ÄÜ£¬½«ÐèÒªÈçÏÂËùʾ£º[code]@Bean
public FlatFileItemReader
throws Exception {
FlatFileItemReader
reader.setName(¡°fooReader¡±);
reader.setResource(resource);
BeanWrapperFieldSetMapper
new BeanWrapperFieldSetMapper<>();
fieldSetMapper.setTargetType(Foo.class);
fieldSetMapper.afterPropertiesSet();
DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer();
tokenizer.setNames(new String[] {¡°first¡±, ¡°second¡±, ¡°third¡±});
tokenizer.afterPropertiesSet();
DefaultLineMapper lineMapper = new DefaultLineMapper();
lineMapper.setLineTokenizer(tokenizer);
lineMapper.setFieldSetMapper(fieldSetMapper);
reader.setLineMapper(lineMapper);
return reader;
}[/code]ʹÓà Spring Batch 4£¬ÅäÖüò»¯ÈçÏ£º[code]@Bean
public FlatFileItemReader
return new FlatFileItemReaderBuilder
.name(¡°fooReader¡±)
.resource(resource)
.delimited()
.names(new String[]{¡°first¡±, ¡°second¡±, ¡°third¡±})
.targetType(Foo.class)
.build();
}[/code]ÐÂÎĵµ
Spring Batch µÄÎĵµ¶àÄêÀ´Ò»Ö±Ã»Óо¹ý´óµÄÐ޸ġ£µ«ÔÚÕâ¸ö°æ±¾ÖУ¬ÎĵµÒѾ±»ÒÆÖ²µ½ Asciidoc ÖУ¬ÒÔ¼ò»¯ÎĵµµÄ´´½¨£¬²¢ÇÒÔÚÕû¸ö Spring ×éºÏÖб£³ÖÒ»Ö¡£ ³ý´ËÖ®Í⣬²Î¿¼ÎĵµÏÖÔÚ¿ÉÒÔÑ¡ÔñʹÓÃÿҳ¶¥²¿µÄÇл»Ñ¡Ïî²é¿´ Java ÅäÖûò XML ÅäÖÃÖеÄËùÓÐʾÀý¡£
Èí¼þÏêÇ飺https://spring.io/blog/2017/12/04/spring-batch-4-0-0-release-is-now-available
À´×Ô:¿ªÔ´ÖйúÉçÇø

