Spring Boot é um framework de código aberto Java usado para programar aplicações baseadas em Spring autônomas e de nível de produção, com um conjunto de bibliotecas que tornam a inicialização e o gerenciamento de projetos mais fáceis. Spring Boot é uma extensão de convenção sobre configuração para a plataforma Java Spring, destinada a ajudar a minimizar as preocupações de configuração ao criar aplicações baseadas em Spring. A aplicação ainda pode ser ajustada para necessidades específicas, mas o projeto Spring Boot inicial fornece uma "visão opinativa" pré-configurada da melhor configuração a ser usada com a plataforma Spring e bibliotecas de terceiros selecionadas. O Spring Boot pode ser usado para construir microsserviços, aplicações web e aplicações de console.

Características Servidores de aplicação web embutidos: Tomcat, Jetty ou Undertow. Fornece Project Object Models (POMs) 'iniciais' opinativos para a ferramenta de build. As únicas ferramentas de build suportadas são Maven e Gradle. Configuração automática da aplicação Spring. Fornece funcionalidades prontas para produção como métricas, verificações de saúde e configuração externalizada. Não é necessária geração de código. Não é necessária configuração XML. Suporte opcional para Kotlin e Apache Groovy além do Java.

Inicialização do DispatcherServlet

O Spring Boot não exige configuração manual do DispatcherServlet, pois configura automaticamente a aplicação com base na configuração que detecta.

SpringBootServletInitializer O Spring Boot possui uma classe SpringBootServletInitializer, que é uma especialização do WebApplicationInitializer. Este SpringBootServletInitializer é uma implementação pronta do WebApplicationInitializer, o que elimina a necessidade de o desenvolvedor construir sua própria implementação da classe WebApplicationInitializer.

Propriedades de configuração As propriedades de configuração para a aplicação Spring Boot podem ser especificadas no arquivo application.properties ou application.yml. Exemplos de propriedades que podem ser incluídas neste arquivo incluem as propriedades server.port e spring.application.name.

Autoconfiguração

@SpringBootApplication O Spring Boot possui uma anotação, @SpringBootApplication, que permite que a aplicação Spring Boot autoconfigure bibliotecas de terceiros e recursos detectados encontrados no classpath. Como exemplo, a classe que possui a anotação @SpringBootApplication pode estender a classe SpringBootServerInitializer se a aplicação for empacotada e implantada como um arquivo WAR. A anotação @SpringBootApplication combina três anotações específicas do Spring: @SpringBootConfiguration, @EnableAutoConfiguration e @ComponentScan.

@SpringBootConfiguration A anotação @SpringBootConfiguration é uma especialização da anotação @Configuration específica do Spring. A classe com a anotação @SpringBootConfiguration é marcada como a classe de configuração para a aplicação Spring Boot.

@EnableAutoConfiguration A anotação @EnableAutoConfiguration é uma anotação específica do Spring que permite a configuração automática do Spring Boot.

Actuator O Spring Boot Actuator permite recursos de monitoramento e gerenciamento para a aplicação Spring Boot. Uma grande vantagem de usar o Spring Boot Actuator é que ele implementa várias funcionalidades prontas para produção sem exigir que o desenvolvedor construa suas próprias implementações. Se o Maven for usado como ferramenta de build, a dependência spring-boot-starter-actuator pode ser especificada no arquivo de configuração pom.xml.

Integração com Módulos do Spring Framework O Spring Boot possui vários módulos existentes do Spring Framework.

Spring Security

O Spring Boot possui integração com o módulo Spring Security. A maneira mais simples de integrar o Spring Boot com o Spring Security é declarar a dependência inicial no arquivo de configuração da build. Se o Maven for usado como ferramenta de build, a dependência com o ID de artefato spring-boot-starter-security pode ser especificada no arquivo de configuração pom.xml.

Servidores de aplicação Por padrão, o Spring Boot fornece servidores web embutidos (como Tomcat) prontos para uso. No entanto, o Spring Boot também pode ser implantado como um arquivo WAR em um servidor de aplicação WildFly autônomo. Se o Maven for usado como ferramenta de build, existe um plugin Maven wildfly-maven-plugin que permite a implantação automática do arquivo WAR gerado.

Referências

Bibliografia Deinum, Marten; Cosmina, Iuliana (2021). Pro Spring MVC with WebFlux. Berkeley, CA: Apress. ISBN 978-1-4842-5665-7. doi:10.1007/978-1-4842-5666-4 Musib, Somnath (12 de julho de 2022). Spring Boot in Practice. [S.l.]: Simon and Schuster. ISBN 978-1-61729-881-3 Walls, Craig (3 de janeiro de 2016). Spring Boot in Action. [S.l.]: Manning. ISBN 978-1-61729-254-5 Walls, Craig (2019). Spring in Action. [S.l.]: Manning. ISBN 978-1-61729-494-5

Ligações externas

«Página oficial»