Configurando ItemProcessor

A partir do momento que obtemos os usuários pelo ItemReader, queremos fazer o seu processamento.

Faremos uma simples projeção de dados, ou seja, obteremos somente alguns campos e não tudo (limitando alguns atributos).

Vamos na classe de configuração do Step fetchUserDataAndStoreDbStepConfig, e passaremos um ItemProcessor<UserDTO, User> selectFieldsUserDataProcessor, o segundo parâmetro é o que ele retorna.

Como será uma projeção (processamento), será um objeto User (ou qualquer outro nome), o que devemos saber é: esse retorno é a entidade do nosso negócio.

Criaremos essa classe User no pacote entities. Seus atributos serão exatamente o que queremos de retorno.

User (pacote entities)

public class User {

    //colocamos só os atributos que queremos processar
    private String login;
    private String name;
    private String avatarUrl;
    
    //construtor sem e com argumentos
    //++ getters and setters and toString
}

Atualizado