| Spring Boot | |
|---|---|
| Autor | Rod Johnson |
| Desenvolvedor | VMware |
| Lançamento inicial | abril de 2014 |
| Repositório | |
| Escrito em | Java |
| Plataforma | Jakarta EE |
| Tipo | Framework de aplicação |
| Licença | Licença Apache 2.0 |
| Website | spring |
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.
O Spring Boot não exige configuração manual do DispatcherServlet, pois configura automaticamente a aplicação com base na configuração que detecta.
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.
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.
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.
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.
A anotação @EnableAutoConfiguration é uma anotação específica do Spring que permite a configuração automática do Spring Boot.
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.
O Spring Boot possui vários módulos existentes do Spring Framework.
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.
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.