spring batch 通过配置文件的方法读文件

spring batch提供了多种方式读数据,比如读文件,读数据库,读xml等,提供了丰富了实现类操作,也可以根据自己的需求实现接口ItemReader去自定义。

工作中我们常用的是读文件(.csv、.txt等格式文件)和读数据库。

这里主要讲读一般文件的配置方式:

 
        
            
                
            
        
 

  
   
 

 

1.读文件需要到的类

读文件一般使用类 org.springframework.batch.item.file.FlatFileItemReader。此类负责读取文件内容,并讲读取的内容转换成我们需要的实体类,主要通过LineMapper的子类DefaultLineMapper实现。

下面是DefaultLineMapper源码:spring batch 通过配置文件的方法读文件_第1张图片在DefaultLineMapper类中 LineTokenizer 负责将文件中的数据转换成FieldSet对象,FieldSetMapper负责将FieldSet转换成对应的实体类对象。

具体的层次关系如下:

FlatFileItemReader:
    --属性:lineMapper 实现类:DefaultLineMapper
            --属性:lineTokenizer 实现类:DelimitedLineTokenizer
            --属性:fieldSetMapper 实现类:BeanWrapperFieldSetMapper

2.具体的JOB配置




    

    
        
            
                
        
        
    


    
        
        
        
        
        
        
            
                
                    
                        
                        
                    
                
                
                    
                        
                    
                
            
        
    

    
    

其中goodsFileProcessor和goodsFileWrite各自实现了接口 ItemProcessor 和 ItemWriter,并没有逻辑上的处理。

源码在:https://github.com/chenghaojason/jason

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Spring,Batch)