Spring Boot é uma estrutura baseada em Java de código aberto usada para criar um microServiço. Ele é desenvolvido pela Pivotal Team e é usado para construir aplicações autônomas e prontas para produção. Aqui lhe darei uma introdução ao Spring Boot e o falar sobre seus conceitos básicos.
O que é Micro Service?
Micro Service é uma arquitetura que permite aos desenvolvedores desenvolver e implantar serviços de forma independente. Cada serviço em execução tem seu próprio processo e isso atinge o modelo leve para suportar aplicativos de negócios.
Vantagens
Os microsserviços oferecem as seguintes vantagens para seus desenvolvedores –
- Fácil implantação
- Escalabilidade simples
- Compatível com Containers
- Configuração mínima
- Menor tempo de produção
O que é Spring Boot?
Spring Boot fornece uma boa plataforma para desenvolvedores Java desenvolverem um aplicativo Spring autônomo e de nível de produção que você pode simplesmente executar . Você pode começar com configurações mínimas sem a necessidade de uma configuração inteira do Spring.
Vantagens
Spring Boot oferece as seguintes vantagens para seus desenvolvedores –
- Fácil de entender e desenvolver aplicações de molas
- Aumenta a produtividade
- Reduz o tempo de desenvolvimento
Metas
Spring Boot é projetado com os seguintes objetivos –
- Para evitar configuração XML complexa no Spring
- Para desenvolver aplicativos Spring prontos para produção de uma maneira mais fácil
- Para reduzir o tempo de desenvolvimento e executar o aplicativo de forma independente
- Oferece uma maneira mais fácil de começar a usar o aplicativo
Por que Spring Boot?
Você pode escolher o Spring Boot por causa dos recursos e benefícios que ele oferece, conforme fornecido aqui:
- Ele fornece uma maneira flexível de configurar Java Beans, configurações XML e transações de banco de dados.
- Ele fornece um processamento em lote poderoso e gerencia terminais REST.
- No Spring Boot, tudo é configurado automaticamente; nenhuma configuração manual é necessária.
- Oferece um aplicativo de mola baseado em anotação
- Facilita o gerenciamento de dependências
- Inclui Embedded Servlet Container
Como funciona?
Spring Boot configura automaticamente seu aplicativo com base nas dependências que você adicionou ao projeto usando a anotação @EnableAutoConfiguration . Por exemplo, se o banco de dados MySQL estiver em seu caminho de classe, mas você não configurou nenhuma conexão de banco de dados, o Spring Boot configura automaticamente um banco de dados na memória.
O ponto de entrada do aplicativo Spring Boot é a classe que contém a anotação @SpringBootApplication e o método principal.
O Spring Boot verifica automaticamente todos os componentes incluídos no projeto usando a anotação @ComponentScan .
Spring Boot Starters
Lidar com o gerenciamento de dependências é uma tarefa difícil para grandes projetos. Spring Boot resolve esse problema fornecendo um conjunto de dependências para conveniência dos desenvolvedores.
Por exemplo, se você deseja usar Spring e JPA para acesso ao banco de dados, é suficiente incluir a dependência spring-boot-starter-data-jpa em seu projeto.
Observe que todos os iniciadores Spring Boot seguem o mesmo padrão de nomenclatura spring-boot-starter- *, onde * indica que é um tipo de aplicativo.
Exemplos
Veja os seguintes iniciadores do Spring Boot explicados abaixo para uma melhor compreensão –
A dependência do Spring Boot Starter Actuator é usada para monitorar e gerenciar seu aplicativo. Seu código é mostrado abaixo –
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
A dependência do Spring Boot Starter Security é usada para o Spring Security. Seu código é mostrado abaixo –
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
A dependência da web do Spring Boot Starter é usada para escrever um Rest Endpoints. Seu código é mostrado abaixo –
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
A dependência do Spring Boot Starter Thyme Leaf é usada para criar um aplicativo da web. Seu código é mostrado abaixo –
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
A dependência do Spring Boot Starter Test é usada para escrever casos de teste. Seu código é mostrado abaixo –
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency>
Configuração Automática
O Spring Boot Auto Configuration configura automaticamente seu aplicativo Spring com base nas dependências JAR que você adicionou ao projeto. Por exemplo, se o banco de dados MySQL estiver em seu caminho de classe, mas você não configurou nenhuma conexão de banco de dados, o Spring Boot configura automaticamente um banco de dados na memória.
Para isso, você precisa adicionar @EnableAutoConfiguration anotação ou @SpringBootApplication anotação para seu arquivo de classe principal. Então, seu aplicativo Spring Boot será configurado automaticamente.
Observe o seguinte código para um melhor entendimento –
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @EnableAutoConfiguration public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
Aplicativo Spring Boot
O ponto de entrada do Spring Boot Application é a classe que contém a anotação @SpringBootApplication . Esta classe deve ter o método principal para executar o aplicativo Spring Boot. A anotação @SpringBootApplication inclui configuração automática , varredura de componentes e configuração de inicialização Spring.
Se você adicionou a anotação @SpringBootApplication à classe, não é necessário adicionar as anotações @EnableAutoConfiguration, @ComponentScan e @SpringBootConfiguration . A anotação @SpringBootApplication inclui todas as outras anotações.
Observe o seguinte código para um melhor entendimento –
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
Varredura de componente
O aplicativo Spring Boot verifica todos os beans e declarações de pacote quando o aplicativo é inicializado. Você precisa adicionar a anotação @ComponentScan ao seu arquivo de classe para verificar os componentes adicionados ao projeto.
Observe o seguinte código para um melhor entendimento –
import org.springframework.boot.SpringApplication; import org.springframework.context.annotation.ComponentScan; @ComponentScan public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
Conclusão
Essa é apenas uma introdução básica sobre o Spring Boot, mas ja mostra o quanto ele pode agilizar o desenvolvimento do seu software. Mais a frente falarei mais especificamente sobre os componentes mais utilizados.