Está mais perto do que nunca do lançamento da versão 3 do framework de desenvolvimento Spring Boot. Sendo assim, decidir escrever esse artigo técnico com o objetivo de demonstrar a criação de um projeto simples utilizando o spring boot.
A versão 3 do Spring Boot está sendo esperada ansiosamente por muitos desenvolvedores, primeiro por que é o framework mais utilizado na industria de desenvolvimento de software, segundo por que é a versão que dará suporte a versão 17 do Java.
Para você conseguir finalizar a leitura desse artigo espera-se que você possua o comhecimento básico da linguagem de programação Java do sistema de controle de versões distribuído Git, do Github e do Maven. No final o projeto será versionado no GitHub.
- Java: É uma linguagem de programação e plataforma de computação;
- Git: É um sistema de controle de versão distribuído gratuito e de código aberto projetado para lidar com tudo, desde projetos pequenos a muito grandes, com velocidade e eficiência;
- Github: É uma plataforma de hospedagem de código-fonte e arquivos com controle de versão usando o Git;
- Maven: É uma ferramenta de gerenciamento e compreensão de projetos de software.
Criando o projeto no Github
Acesse seu Github e escolha no item com a imagem "+" ao lado da sua foto do perfil a opção "New Repository". Preencha os campos conforme a seguinte imagem:
Quando pequeno eu era facinado por insetos, então decide fazer uma API para eu catalogar os insetos existentes.
Depois de criar o projeto você irá fazer o clone dele para seu computador através do seguinte comando:
git@github.com:[seu-usuario-de-login]/insect-service.git
Você pode encontrar esse comando no seu projeto conforme demonstrado na imagem:
Criando o projeto Spring Boot
O Spring possui uma ferramenta online chamada Spring Initializr que facilita muito a vida do programado ao criar um novo projeto. A imagem abaixo demostra a ferramenta.
Segue explicação para cada campo na imagem:
- Project: Nesse campo você precisa escolher qual ferramenta de gerenciamento e compressão você vai utilizar. Para esse projeto de exemplo irei utilizar o Maven. Haaa, lembrando quê, o Meven também é um gerenciado de dependências do Java assim como o Gradle;
- Language: Selecione a linguagem de programação que você ira utilizar para implementar o projeto. No nosso casa iremos utilizar o Java;
- Spring Boot: Selecione a versão do Spring Boot que será utilizado para criar o projeto. O Spring Boot é um framework que torna fácil a criação de aplicações Spring autossuficientes e robustas, possibilitando a sua execução imediata. Para o nosso exemplo iremos utilizar a versão 3.0.0 (SNAPSHOT);
- Project Metadata: São as informações do projeto. Nesse campo você irá informar o Grupo, Artefato, Nome, Descricão, Nome do pacote, tipo de empacotamento e a versão do Java;
- Dependencies: Selecione as dependências para o projeto. Como esse é um projeto exemplo muito simples iremos selecionar apenas três dependências, são elas: Spring Boot DevTools, Spring Boot Actuator e Spring Web.
Depois que você preencher os dados do seu projeto, conforme imagem abaixo, selecione a opcão GENERATE para criar o projeto. No final será feito o download do projeto como um arquivo compactado para a sua pasta de downloads na sua máquina.
Descompacte o arquivo dentro da pasta do projeto do github que você fez clone anteriormente. O projeto deverá ter a seguinte estrutura de arquivos:
Criando o primeiro Endpoint
Crie uma classe RestController com um método responsável por responder uma requisição GET, como no exemplo abaixo.
package com.bmstech.insectservice;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import static org.springframework.http.HttpStatus.*;
@RestController
@RequestMapping("/insects")
public class InsectController {
@GetMapping
public ResponseEntity<String> get(){
return new ResponseEntity<>("OK", OK);
}
}
A classe acima utiliza a anotação @RestController
para informar o Spring Boot que ela é um controller rest e também qual o endereço do endpoint
para acessar os recursos.
Esta classe possui um método com a anotação @GetMapping
que diz qual método deve ser chamado quando o controller receber uma requisição do tipo HTTP GET em seu endereço padrão /insects. O método retorna uma resposta HTTP com Status 200 (OK) e o corpo da resposta com o valor "OK".
Executando o projeto
Execute o comando mvn clean install
para baixar as dependências do projeto através do maven. Depois execute o comando mvn spring-boot:run
para executar a sua aplicação. A mensagem que aparece no final "Tomcat started on port(s): 8080 (http)" significa que a sua aplicação web já está rodando na porta 8080, como observado na imagem abaixo.
Pronto, com o projeto em execução vamos verificar se o mesmo esta funcionando como esperamos. Abra o browser de sua preferência e e acesse a URL http://localhost:8080/insects/. A imagem abaixo demonstra o resultado após acessar a URL.
Pronto, com tudo funcionando ainda falta fazer o commit das nossas alteraćoes e enviar para o nosso repositório remoto do github. Para isso vamos executar os seguintes comando estando dentro da pasta do projeto:
-
git add .
: Esse comando adiciona os arquivos para o stage; -
git commit -am 'Commit initial'
; Faz o commit das suas alterações no seu repositório local; -
git push -u origin main
: Esse comando empurra suas alterações do repositorio local para seu repositório remoto main no github
Refeências
Spring Boot - https://spring.io/projects/spring-boot
Spring Initializr - https://start.spring.io/
E então, chegamos ao fim de mais um artigo técnico. Espero muito que vocês tenham gostado e aprendido um pouco mais sobre o Spring Boot. Sabemos que existem muitos outros artigos parecido com esse, mas tenho criado como uma forma de ajudar o próximo, e ter um registro onde eu possa encontrar com facilidade as informações necessárias para meu dia-a-dia de trabalho.
Esse projeto está disponivel em https://github.com/angelobms/insect-service e será utilizado para outros artigos técnicos que irei escrever sobre Spring.
Top comments (0)