Spring Boot
| Spring Boot | |
|---|---|
| Autor | Rod Johnson |
| Desenvolvedor | VMware |
| Lançamento inicial | abril de 2014[1] |
| 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.[2] 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.[3][4] 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.[5][6]
O Spring Boot pode ser usado para construir microsserviços, aplicações web e aplicações de console.[2][7]
Características
[editar | editar código]- Servidores de aplicação web embutidos: Tomcat, Jetty ou Undertow.[8]
- Fornece Project Object Models (POMs) 'iniciais' opinativos para a ferramenta de build. As únicas ferramentas de build suportadas são Maven e Gradle.[9][10]
- Configuração automática da aplicação Spring.[11]
- Fornece funcionalidades prontas para produção[3] como métricas,[12] verificações de saúde[12] e configuração externalizada.[13]
- Não é necessária geração de código.[8]
- Não é necessária configuração XML.[9]
- Suporte opcional para Kotlin e Apache Groovy além do Java.[2][14]
Inicialização do DispatcherServlet
[editar | editar código]O Spring Boot não exige configuração manual do DispatcherServlet, pois configura automaticamente a aplicação com base na configuração que detecta.[15]
SpringBootServletInitializer
[editar | editar código]O Spring Boot possui uma classe SpringBootServletInitializer, que é uma especialização do WebApplicationInitializer.[15] 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.[15]
Propriedades de configuração
[editar | editar código]As propriedades de configuração para a aplicação Spring Boot podem ser especificadas no arquivo application.properties ou application.yml.[15]
Exemplos de propriedades que podem ser incluídas neste arquivo incluem as propriedades server.port e spring.application.name.[15]
Autoconfiguração
[editar | editar código]@SpringBootApplication
[editar | editar código]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.[15] 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.[15]
A anotação @SpringBootApplication combina três anotações específicas do Spring: @SpringBootConfiguration, @EnableAutoConfiguration e @ComponentScan.[16]
@SpringBootConfiguration
[editar | editar código]A anotação @SpringBootConfiguration é uma especialização da anotação @Configuration específica do Spring.[16] A classe com a anotação @SpringBootConfiguration é marcada como a classe de configuração para a aplicação Spring Boot.[16]
@EnableAutoConfiguration
[editar | editar código]A anotação @EnableAutoConfiguration é uma anotação específica do Spring que permite a configuração automática do Spring Boot.[16]
Actuator
[editar | editar código]O Spring Boot Actuator permite recursos de monitoramento e gerenciamento para a aplicação Spring Boot.[17] 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.[17]
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.[18]
Integração com Módulos do Spring Framework
[editar | editar código]O Spring Boot possui vários módulos existentes do Spring Framework.
Spring Security
[editar | editar código]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.[19]
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.[19]
Servidores de aplicação
[editar | editar código]Por padrão, o Spring Boot fornece servidores web embutidos (como Tomcat) prontos para uso.[20] No entanto, o Spring Boot também pode ser implantado como um arquivo WAR em um servidor de aplicação WildFly autônomo.[21]
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.[21]
Referências
[editar | editar código]- ↑ «Spring Boot v1.0.0.RELEASE». github.com
- 1 2 3 «Spring Boot Tutorial - Learn Spring Boot». GeeksforGeeks (em inglês). 8 de maio de 2023. Consultado em 5 de abril de 2024
- 1 2 Walls 2016, p. vii.
- ↑ Walls 2016, pp. 37-48.
- ↑ Walls 2016, p. 48.
- ↑ Deinum & Cosmina 2021, pp. 21-22.
- ↑ «Spring Boot Console Application». Baeldung. 8 de janeiro de 2024. Consultado em 20 de setembro de 2024
- 1 2 Walls 2016, p. 7.
- 1 2 Walls 2016, p. x.
- ↑ Musib 2022, p. 9.
- ↑ Walls 2016, pp. 4-5.
- 1 2 Walls 2016, pp. 124-139.
- ↑ Walls 2016, pp. 49-69.
- ↑ «Language Support». Spring Framework
- 1 2 3 4 5 6 7 Deinum & Cosmina 2021, pp. 52-54.
- 1 2 3 4 Walls 2019, pp. 11-17.
- 1 2 Musib 2022, pp. 144-145.
- ↑ Musib 2022, pp. 145-146.
- 1 2 Musib 2022, pp. 187-192.
- ↑ Musib 2022, pp. 7-8.
- 1 2 Musib 2022, pp. 406-417.
Bibliografia
[editar | editar código]- 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
