Spring Boot

 Nota: Não confundir com Spring Framework.
Spring Boot
AutorRod Johnson
DesenvolvedorVMware
Lançamento inicialabril de 2014; há 12 anos (2014-04)
Repositório
Escrito emJava
PlataformaJakarta EE
TipoFramework de aplicação
LicençaLicença Apache 2.0
Websitespring.io/projects/spring-boot Edit this on Wikidata

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

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

  1. ↑ «Spring Boot v1.0.0.RELEASE». github.com
  2. 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
  3. 1 2 Walls 2016, p. vii.
  4. ↑ Walls 2016, pp. 37-48.
  5. ↑ Walls 2016, p. 48.
  6. ↑ Deinum & Cosmina 2021, pp. 21-22.
  7. ↑ «Spring Boot Console Application». Baeldung. 8 de janeiro de 2024. Consultado em 20 de setembro de 2024
  8. 1 2 Walls 2016, p. 7.
  9. 1 2 Walls 2016, p. x.
  10. ↑ Musib 2022, p. 9.
  11. ↑ Walls 2016, pp. 4-5.
  12. 1 2 Walls 2016, pp. 124-139.
  13. ↑ Walls 2016, pp. 49-69.
  14. ↑ «Language Support». Spring Framework
  15. 1 2 3 4 5 6 7 Deinum & Cosmina 2021, pp. 52-54.
  16. 1 2 3 4 Walls 2019, pp. 11-17.
  17. 1 2 Musib 2022, pp. 144-145.
  18. ↑ Musib 2022, pp. 145-146.
  19. 1 2 Musib 2022, pp. 187-192.
  20. ↑ Musib 2022, pp. 7-8.
  21. 1 2 Musib 2022, pp. 406-417.

Bibliografia

Ligações externas

O Wikilivro Java Programming tem uma página intitulada Spring Boot