07‐Spring Boot Starters & Parent - JulianeMaran32/Java-with-Spring-Boot GitHub Wiki
Os Spring Boot Starters são pacotes de dependências pré configuradas que facilitam o desenvolvimento com Spring Boot. Eles ajudam a evitar que os desenvolvedores tenham que procurar e adicionar cada dependência manualmente no projeto.
Ao iniciar um projeto Spring tradicional, é necessário incluir várias dependências no arquivo pom.xml do Maven. Isso pode ser trabalhoso, pois é preciso garantir que todas as versões sejam compatíveis.
Os Spring Boot Starters resolvem esse problema, agrupando dependências essenciais de forma organizada e compatível. Com um único Starter, você adiciona todas as bibliotecas necessárias para uma funcionalidade específica.
Por exemplo, ao desenvolver uma aplicação web com Spring MVC, normalmente precisaríamos adicionar manualmente:
- Spring MVC
- Hibernate Validator
- Jackson (para JSON)
- Tomcat (servidor embutido)
Com o Spring Boot Starter Web, basta adicionar esta única dependência no pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Isso automaticamente inclui todas as bibliotecas acima, garantindo compatibilidade entre elas.
A maneira mais fácil de adicionar Starters é através do [Spring Initializr](https://start.spring.io/):
- Acesse o site e selecione as dependências desejadas.
- Gere o projeto.
- Faça o download e extraia os arquivos.
- Abra o projeto em sua IDE.
O Spring Initializr adiciona automaticamente os Starters necessários no pom.xml, tornando a configuração mais simples.
- spring-boot-starter-web: Para aplicações web com Spring MVC.
- spring-boot-starter-security: Para implementar segurança.
- spring-boot-starter-data-jpa: Para trabalhar com bancos de dados usando JPA e Hibernate.
- spring-boot-starter-test: Para adicionar bibliotecas de teste como JUnit e Mockito.
Para visualizar todas as dependências incluídas em um Starter, você pode:
- Abrir o pom.xml e verificar as dependências aninhadas.
- Usar a funcionalidade de gerenciamento de dependências da sua IDE (Eclipse ou IntelliJ).
O Spring Boot Parent é um modelo de configuração padrão para projetos Spring Boot. Ele define várias configurações úteis, como:
- Versão do Java (padrão Java 17, mas pode ser alterada no pom.xml).
- Codificação UTF-8.
- Configurações de plugins do Maven.
No pom.xml, incluímos a seguinte configuração:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.0</version>
</parent>
Isso permite que todas as dependências do projeto herdem as versões definidas pelo Spring Boot, garantindo compatibilidade.
Se precisar alterar a versão do Java, basta adicionar:
<properties>
<java.version>17</java.version>
</properties>
- Facilita o gerenciamento de dependências → As versões são herdadas automaticamente, sem precisar especificá-las manualmente.
- Garante compatibilidade → Todas as bibliotecas do Spring Boot funcionarão corretamente.
- Menos configuração → O Maven já vem com diversas configurações otimizadas.
Os Spring Boot Starters e o Spring Boot Parent tornam o desenvolvimento mais fácil, eliminando configurações manuais e garantindo que todas as dependências sejam compatíveis. Isso permite que os desenvolvedores foquem mais na lógica do negócio e menos na configuração do ambiente.