Por mais que o Spring Framework tenha funcionalidade abrangente e completa, ele ainda requer tempo e conhecimento significativos para instalar, configurar e implementar aplicativos Spring. O Spring Boot permite reduzir esse esforço com três recursos importantes.
Autoconfiguração
A autoconfiguração significa que os aplicativos são inicializados com dependências predefinidas e não é necessário configurá-las manualmente. Como o Java Spring Boot é oferecido com recursos integrados de autoconfiguração, ele configura automaticamente o Spring Framework subjacente e soluções de terceiros com base em suas definições (e com base nas práticas recomendadas, o que ajuda a evitar erros). Mesmo que você substitua essas definições após a inicialização ser concluída, o recurso de autoconfiguração do Java Spring Boot permite que você inicie o desenvolvimento de seus aplicativos baseados em Spring rapidamente e reduz a probabilidade de ocorrer erros humanos.
Abordagem opinativa
O Spring Boot usa uma abordagem opinativa para incluir e configurar dependências de iniciador, com base nas necessidades do seu projeto. Após avaliar a estrutura, o Spring Boot escolhe quais pacotes instalar e quais valores padrão usar em vez de exigir que você tome todas essas decisões sozinho e configure tudo manualmente.
É possível definir as necessidades do seu projeto durante o processo de inicialização, durante o qual é possível escolher entre diversas dependências de iniciador, chamadas de Spring Starters, que abrangem os casos de uso mais comuns. Você poderá executar o Spring Boot Initializr preenchendo um simples formulário da web, sem qualquer programação.
Por exemplo, a dependência do iniciador 'Spring Web' permite criar aplicativos da web baseados em Spring com configuração mínima incluindo todas as dependências necessárias ao seu projeto, como o servidor da web Apache Tomcat. O 'Spring Security' é outra dependência de iniciador popular que adiciona automaticamente recursos de autenticação e controle de acesso aos seus aplicativos.
O Spring Boot inclui mais de 50 Spring Starters, e há muitos outros iniciadores disponíveis de terceiros.
Aplicativos independentes
O Spring Boot ajuda os desenvolvedores a criar aplicativos que são executados com autonomia. Especificamente, essa ferramenta permite criar aplicativos independentes que podem ser executados de maneira autônoma e que não dependem de um servidor da web externo, devido à integração de um servidor da web, como o Tomcat ou o Netty, ao seu aplicativo durante o processo de inicialização. Como resultado, você pode iniciar seu aplicativo em qualquer plataforma simplesmente pressionando o comando Executar. (É possível desativar esse recurso para criar aplicativos sem um servidor da web integrado.)