DEV Community

Cover image for Criando seu primeiro projeto Spring Boot 3.
Angelo Brandão
Angelo Brandão

Posted on

Criando seu primeiro projeto Spring Boot 3.

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:
Image description

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:
Image description


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.
Image description

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.
Image description

Descompacte o arquivo dentro da pasta do projeto do github que você fez clone anteriormente. O projeto deverá ter a seguinte estrutura de arquivos:
Image description


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);
    }
}
Enter fullscreen mode Exit fullscreen mode

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.
Image description

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.
Image description

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:

  1. git add .: Esse comando adiciona os arquivos para o stage;
  2. git commit -am 'Commit initial'; Faz o commit das suas alterações no seu repositório local;
  3. 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.

Discussion (0)