1 - Crie um novo projeto com Spring Boot, usando o site start.spring.io. Esse projeto será o contador, e funcionará na linha de comando. Você deve pedir para um usuário digitar um número e depois imprimir na tela uma contagem de 1 até o número digitado pelo usuário.
package br.com.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 leitura = new Scanner(System.in);
System.out.print("Digite um número: ");
int numero = leitura.nextInt();
for (int i = 1; i <= numero; i++) {
System.out.print(i + " ");
}
}
}
2 - Suponha que decidimos mudar de ideia e utilizar novamente a biblioteca Gson no nosso projeto ScreenMatch. Agora que estamos trabalhando com o Maven, os passos para adicionar a biblioteca são diferentes do que já foi feito antes. Explique quais passos você iria realizar nesse caso.
Buscar o código da dependência no site MVN Repository e adiciona-lo ao arquivo pom.xml do projeto, dentro da tag .
<!-- Source: https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.11.0</version>
<scope>compile</scope>
</dependency>
3 - Agora iremos trabalhar com serialização e desserialização. Para isso, você pode reaproveitar seu projeto do exercício 1. Adicione a dependência do Jackson ao seu pom.xml, pois iremos utilizá-la bastante nos próximos exercícios. Também crie uma classe Tarefa.
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.15.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.15.2</version>
</dependency>
</dependencies>
package br.com.alura.contador.model;
public class Tarefa {
private String descricao;
private boolean concluida;
private String pessoaResponsavel;
public Tarefa() {
}
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 + " | Status: " + concluida + " | Responsável: " + pessoaResponsavel;
}
}