- Projeto contador:
package br.com.desafio_alura.contador;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
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 {
Scanner scanner = new Scanner(System.in);
System.out.println("\nDigite um número:");
int num = scanner.nextInt();
System.out.println("----- Contagem -----");
for (int i = 0; i < num; i++) {
System.out.println(i+1);
}
}
}
- Passos para utilizar a biblioteca Gson trabalhando com o Maven:
1 - Acessamos o site do MVN Repository (mvnrepository.com); 2 - Buscamos com Gson na barra de busca; 3 - Clicamos na biblioteca Gson e em seguida, clicamos a última versão disponível; 4 - Na aba Maven, copiamos o código completo da dependência; 5 - De volta ao IDE, abrimos o pom.xml e colamos o código dentro de < dependencies >; 6 - Por último, sincronizamos a mudança no Maven.
- Classe tarefa:
package br.com.desafio_alura.contador;
public class Tarefa {
private String descricao;
private boolean concluida;
private String pessoaResponsavel;
public Tarefa(String descricao, boolean concluida, String pessoaResponsavel) {
this.descricao = descricao;
this.concluida = concluida;
this.pessoaResponsavel = pessoaResponsavel;
}
public String getDescricao() {
return descricao;
}
public boolean isConcluida() {
return concluida;
}
public String getPessoaResponsavel() {
return pessoaResponsavel;
}
@Override
public String toString() {
return "Tarefa{" +
"descricao='" + descricao + '\'' +
", concluida=" + concluida +
", pessoaResponsavel='" + pessoaResponsavel + '\'' +
'}';
}
}
- Serielização de um arquivo:
package br.com.desafio_alura.contador;
import com.fasterxml.jackson.core.exc.StreamWriteException;
import com.fasterxml.jackson.databind.DatabindException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;
public class MainTarefa {
public static void main(String[] args) {
Tarefa tarefa = new Tarefa("Desafio: hora da prática", true, "Leo");
ObjectMapper mapper = new ObjectMapper();
try {
mapper.writeValue(new File("tarefa.json"), tarefa);
System.out.println("Tarefa salva no arquivo tarefa.json.");
} catch (IOException e) {
System.out.println("Erro:" + e.getMessage());
}
}
}
tarefa.json
{"descricao":"Desafio: hora da prática","concluida":true,"pessoaResponsavel":"Leo"}
- Desserielização de um arquivo:
package br.com.desafio_alura.contador;
import com.fasterxml.jackson.core.exc.StreamWriteException;
import com.fasterxml.jackson.databind.DatabindException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;
public class MainTarefa {
public static void main(String[] args) {
Tarefa tarefa = new Tarefa("Desafio: hora da prática", true, "Leo");
ObjectMapper mapper = new ObjectMapper();
try {
mapper.writeValue(new File("tarefa.json"), tarefa);
System.out.println("Tarefa salva no arquivo tarefa.json.");
} catch (IOException e) {
System.out.println("Erro:" + e.getMessage());
}
try {
Tarefa tarefa2 = mapper.readValue(new File("tarefa.json"), Tarefa.class);
System.out.println("\nLeitura do arquivo tarefa.json:");
System.out.println(tarefa2);
} catch (IOException e) {
System.err.println("Erro: " + e.getMessage());
}
}
}