Este guia oferece um panorama abrangente do Spring Boot, um framework que simplifica o desenvolvimento de aplicações Java. Serão abordados desde a criação do projeto até a configuração do banco de dados e os primeiros testes de API, proporcionando uma base sólida para desenvolvedores.
O Spring Initializr é uma ferramenta essencial para criar um novo projeto Spring Boot. Siga os passos abaixo:
Spring Web
: Para criar APIs RESTful.Spring Data JPA
: Para integração com o banco de dados.H2 Database
: Banco de dados em memória para testes.Lombok
: Para reduzir o código boilerplate.Após extrair o projeto, a seguinte estrutura será exibida:
src
├── main
│ ├── java/com/exemplo/demo
│ │ ├── DemoApplication.java // Ponto de entrada
│ │ ├── controller // Controladores REST
│ │ ├── service // Regras de negócio
│ │ ├── repository // Acesso ao banco de dados
│ │ ├── model // Modelos de entidade
│ ├── resources
│ │ ├── application.properties // Configurações
│ │ ├── static // Arquivos estáticos
│ │ ├── templates // Templates dinâmicos
├── test
│ └── java/com/exemplo/demo // Testes unitários
pom.xml // Configuração do Maven
As entidades representam tabelas no banco de dados. A seguir, um exemplo de uma entidade Usuario
:
import javax.persistence.*;
@Entity
@Table(name = "usuarios")
public class Usuario {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String nome;
@Column(unique = true, nullable = false)
private String email;
// Getters e Setters
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getNome() { return nome; }
public void setNome(String nome) { this.nome = nome; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }
}
Principais anotações utilizadas:
@Entity
: Define a classe como uma entidade JPA.@Table(name = "usuarios")
: Define o nome da tabela.@Id
: Indica a chave primária.