0
respostas

Desafio Java: trabalhando com lambdas, streams e Spring Framework - Exercícios 3 a 5

Segue minha resolução:

  • Criação da classe Tarefa com implementação do @JsonCreator e JsonProperties:
package br.com.alura.exercicios.contador;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

public class Tarefa {

    private String descricao;
    private boolean concluida;
    private String pessoaResponsavel;

    @JsonCreator
    public Tarefa( @JsonProperty("pessoaResponsavel") String pessoaResponsavel, @JsonProperty("concluida") boolean concluida, @JsonProperty("descricao") String descricao) {
        this.pessoaResponsavel = pessoaResponsavel;
        this.concluida = concluida;
        this.descricao = descricao;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public boolean isConcluida() {
        return concluida;
    }

    public void setConcluida(boolean concluida) {
        this.concluida = concluida;
    }

    public String getPessoaResponsavel() {
        return pessoaResponsavel;
    }

    public void setPessoaResponsavel(String pessoaResponsavel) {
        this.pessoaResponsavel = pessoaResponsavel;
    }

    @Override
    public String toString() {
        return "Tarefa{" +
                "descricao:'" + descricao + '\'' +
                ", concluida:" + concluida +
                ", pessoaResponsavel:'" + pessoaResponsavel + '\'' +
                '}';
    }
}
  • Rodando a aplicação:
package br.com.alura.exercicios.contador;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.io.File;


import java.util.Scanner;

@SpringBootApplication
public class ContadorApplication implements CommandLineRunner {

    public static void main(String[] args) {
        SpringApplication.run(ContadorApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
    Tarefa tarefa = new Tarefa("Victor", false, "Estudar Java");
        ObjectMapper mapper = new ObjectMapper();
        mapper.writeValue(new File("Tarefa.json"), tarefa);
        System.out.println("Arquivo gerado com sucesso");
        File file = new File("Tarefa.json");
        Tarefa tarefa1 = mapper.readValue(file, Tarefa.class);

        System.out.println(tarefa1);



        }

    }
}