Spring Boot - Introdução
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 de mola independentes e prontas para produção. Este capítulo lhe dará uma introdução ao Spring Boot e o familiarizará com 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 produção que você pode just run. 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.
Ele 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 @EnableAutoConfigurationanotação. 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 contém @SpringBootApplication anotação e o método principal.
Spring Boot verifica automaticamente todos os componentes incluídos no projeto usando @ComponentScan anotação.
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 se você incluir spring-boot-starter-data-jpa dependência 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 -
Spring Boot Starter Actuator dependencyé usado para monitorar e gerenciar seu aplicativo. Seu código é mostrado abaixo -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Spring Boot Starter Security dependencyé usado para Spring Security. Seu código é mostrado abaixo -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
Spring Boot Starter web dependencyé usado para escrever um Rest Endpoints. Seu código é mostrado abaixo -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Spring Boot Starter Thyme Leaf dependencyé usado para criar um aplicativo da web. Seu código é mostrado abaixo -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Spring Boot Starter Test dependencyé usado 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 adicionadas 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 este propósito, você precisa adicionar @EnableAutoConfiguration anotação ou @SpringBootApplicationanotação em seu arquivo de classe principal. Em seguida, 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 aplicativo Spring Boot é a classe que contém @SpringBootApplicationanotação. Esta classe deve ter o método principal para executar o aplicativo Spring Boot.@SpringBootApplication a anotação inclui configuração automática, varredura de componentes e configuração do Spring Boot.
Se você adicionou @SpringBootApplication anotação para a classe, você não precisa adicionar o @EnableAutoConfiguration, @ComponentScan e @SpringBootConfigurationanotação. o@SpringBootApplication a anotação 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 o@ComponentScan anotação para seu arquivo de classe para varrer seus componentes adicionados em seu 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);
}
}