top of page

O Papel do Spring Boot no Desenvolvimento Back-End

O desenvolvimento back-end é uma parte crucial para a criação de sistemas robustos e escaláveis. Entre as ferramentas disponíveis para desenvolvedores, o Spring Boot se destaca como uma solução poderosa e eficiente para construir aplicações Java. Este artigo explora o papel do Spring Boot no back-end e fornece um guia passo a passo para configurar o Spring Tool Suite (STS), seguido de um exemplo prático: o desenvolvimento de um sistema de gerenciamento de livraria.




Por que o Spring Boot?

O Spring Boot é baseado no famoso framework Spring, mas simplifica sua configuração e uso. Ele permite:

  1. Configuração simplificada: Graças ao conceito de convenção sobre configuração.

  2. Integração com bancos de dados: Suporte nativo ao JPA e ao Hibernate.

  3. Escalabilidade: Ideal para microsserviços.

  4. Ecosistema vasto: Uma vasta gama de dependências para integrações rápidas.

  5. Servidor embutido: Permite rodar a aplicação sem necessidade de configurar um servidor externo.

Configurando o Spring Tool Suite (STS)

O Spring Tool Suite é uma IDE baseada no Eclipse, projetada para facilitar o desenvolvimento com o Spring. Siga estas etapas para configurá-lo e rodar uma aplicação back-end:

  1. Download e Instalação:

    • Baixe o STS no site oficial (https://spring.io/tools).

    • Instale a IDE e inicie-a.

  2. Criação de um Novo Projeto:

    • No menu, clique em File > New > Spring Starter Project.

    • Configure as dependências essenciais: Spring Web, Spring Data JPA, H2 Database.

  3. Configuração do Banco de Dados:

    • Edite o arquivo application.properties para configurar o banco de dados H2:

spring.datasource.url=jdbc:h2:mem:livraria
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

Projeto Prático: Sistema de Gerenciamento de Livraria Agora, vamos desenvolver um sistema CRUD para gerenciar uma livraria usando Spring Boot. 1. Estrutura do Projeto Modelo: Representa os dados da aplicação. Repositório: Interface para comunicação com o banco de dados. Serviço: Contém a lógica de negócios. Controlador: Define os endpoints da API. 2. Criando as Classes Enum para Gêneros Literários:

public enum Genero {
    FICCAO, 
    NAO_FICCAO, 
    FANTASIA, 
    BIOGRAFIA, 
    CIENCIA;
}

Modelo: import jakarta.persistence.*;

@Entity
public class Livro {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String titulo;
    private String autor;
    @Enumerated(EnumType.STRING)
    private Genero genero;
    // Getters e Setters
}
Repositório:
import org.springframework.data.jpa.repository.JpaRepository;
public interface LivroRepository extends JpaRepository<Livro, Long> {
}

Serviço:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class LivroService {

    @Autowired
    private LivroRepository livroRepository;

    public List<Livro> listarTodos() {
        return livroRepository.findAll();
    }

    public Livro salvar(Livro livro) {
        return livroRepository.save(livro);
    }

    public Livro atualizar(Long id, Livro livro) {
        livro.setId(id);
        return livroRepository.save(livro);
    }

    public void deletar(Long id) {
        livroRepository.deleteById(id);
    }
}

Controlador:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;

@RestController
@RequestMapping("/livros")
public class LivroController {

    @Autowired
    private LivroService livroService;

    @GetMapping
    public List<Livro> listar() {
        return livroService.listarTodos();
    }

    @PostMapping
    public Livro criar(@RequestBody Livro livro) {
        return livroService.salvar(livro);
    }

    @PutMapping("/{id}")
    public Livro atualizar(@PathVariable Long id, @RequestBody Livro livro) {
        return livroService.atualizar(id, livro);
    }

    @DeleteMapping("/{id}")
    public void deletar(@PathVariable Long id) {
        livroService.deletar(id);
    }
}

3.Executando o Projeto:

Clique com o botão direito no projeto, selecione Run As > Spring Boot App.

4. Testando a Aplicação
  • Use ferramentas como Postman ou cURL para testar os endpoints da API.

  • A API oferece as operações de listar, criar, atualizar e deletar livros.

O que são Anotações no Spring?

As anotações no Spring são meta-informações utilizadas para configurar e gerenciar o comportamento de componentes, classes e métodos. Elas simplificam o desenvolvimento ao eliminar a necessidade de configuração manual em arquivos XML. Aqui estão algumas das principais anotações usadas no exemplo:

  • @Entity: Indica que a classe é uma entidade JPA, ou seja, um objeto que será mapeado para uma tabela no banco de dados.

  • @Id: Especifica o campo que será a chave primária da entidade.

  • @GeneratedValue: Define a estratégia de geração de valores para a chave primária.

  • @Enumerated: Utilizada para mapear enums para o banco de dados. Pode ser configurada como EnumType.STRING ou EnumType.ORDINAL.

  • @RestController: Define a classe como um controlador REST, permitindo que ela manipule requisições HTTP.

  • @RequestMapping: Configura a rota base dos endpoints de uma classe controladora.

  • @GetMapping, @PostMapping, @PutMapping, @DeleteMapping: Mapeiam métodos HTTP (GET, POST, PUT, DELETE) para métodos específicos na classe controladora.

  • @Autowired: Injeta automaticamente dependências nas classes.

  • @Service: Indica que a classe contém a lógica de negócios da aplicação.

 
 
 

Comments


CONTATO
REDES SOCIAIS

Distrito Agrícola de Ubu

Goiana - PE 55900-000

              

              81 9 9193-1883

  • Facebook ícone social
  • Instagram
  • X
  • YouTube
Whatsapp
nascimento networks symbol new_edited.pn
SCM - ISM
Nascimento Networks Empire

©2025 Nascimento Networks Technologies    CNPJ: 50.191.234/0001-31

Protegido com tecnologia desenvolvida 

em Israel.

bottom of page