Spring Boot
Conheça esse interessante, e muito utilizado framework de desenvolvimento do mundo Java!
Objetivos do post:
- Apresentar o framework de desenvolvimento Spring Boot
- Discutir as situações em que ele pode ser útil
- Mostrar como você pode iniciar sua jornada com o Spring Boot
Prazer, eu sou o Spring Boot
Se você faz parte do grupo de desenvolvedores web que programa em Java, Groovy ou Kotlin, são grandes as chances de já ter ouvido falar, ou mesmo utilizado o Spring Boot, que é desenvolvido pela VMWare. Segundo relatório da JetBrains sobre o ecossistema de desenvolvimento em Java relativo ao ano de 2019, o Spring boot aparece como o líder entre os frameworks utilizados para o desenvolvimento aplicações web, tendo ultrapassado com folga o Spring MVC, outro popular framework.
Mas se você nunca ouviu falar dele, vamos então analisar alguns dos pontos que fazem esse framework ser "o queridinho" dos desenvolvedores.
Excelente documentação
Um primeiro ponto que eu ressalto, é a sua completa e bem redigida documentação (documentação da mais nova versão estável, a 2.2.7).
Além de esclarecer os conceitos principais do Spring Boot e mostrar como iniciar o desenvolvimento em Spring Boot, a documentação ainda possui guias muito úteis, que ensinam por exemplo como acessar dados com JPA.
Não sei você, mas acho primordial a existência de uma documentação de qualidade para qualquer framework que eu cogite adotar. Nesse ponto, você pode ficar tranquilo com o Spring Boot.
Convenção sobre configuração
O conceito de convenção sobre configuração, chamado de convention over configuration em inglês, estabelece que convenções fazem com que o número de decisões que o desenvolvedor precisa tomar diminua, por isso devem ser preferidas em relação às configurações explícitas.
Portanto, se o desenvolvedor conhecer as convenções adotadas pelo framework, e concordar com elas, não precisará configurá-las manualmente, permitindo assim iniciar mais rapidamente o projeto. Entretanto, um bom framework deve permitir que caso o desenvolvedor não queira, ou não possa utilizar uma ou mais convenções, ele tenha como adaptar o framework para o sua necessidade, caso contrário, o framework se torna inflexível e muito limitado.
Felizmente o Spring Boot apresenta diversas convenções, porém, permite que sejam utilizadas maneiras alternativas, sendo bem flexível nesse aspecto.
Em geral, as convenções do Spring Boot são aplicadas por meio de
annotations, como por exemplo @Controller
que indica que
uma determinada classe é um
controller).
Esse conceito exige atenção para dois pontos:
- Conhecimento das convenções do framework: É necessário conhecer as convenções adotadas pelo framework para entender o código da aplicação.
- Convenções não podem ser "mágicas": Deve-se entender quando usá-las, como funcionam e como não usá-las quando for necessário.
Amparado no ombro de gigantes
O Spring Boot é construído usando como base o framework Spring, e por isso é possível utilizar as mesmas dependências que podem ser incorporadas a uma aplicação desenvolvida com Spring, como por exemplo Spring Security e Spring Data.
Essas dependências são muito conhecidas no mundo Java, e por isso facilita muito para quem já trabalhava com Spring, ou mesmo Grails, migrar para o Spring Boot.
Configuração automática (ou automágica)
O Spring Boot é capaz de autoconfigurar sua aplicação para a utilização de muitas dependências. Então por exemplo, ao adicionar o Flyway (veja o post Flyway e versionamento de bases de dados) na sua aplicação, o Spring Boot já configura "automagicamente" para que as migrações sejam realizadas na base de dados configurada na sua aplicação. Esse é mais um exemplo de convenção sobre configuração e que dá muita velocidade para você iniciar um projeto.
Essa é uma das diferenças para o Spring, no qual você acaba tendo mais trabalho para configurar sua aplicação e deixar do jeito que você quer.
Poliglota
Com Spring Boot você pode escolher três diferentes linguagens de programação:
- Java
- Groovy
- Kotlin
Inclusive é possível usar mais de uma ao mesmo tempo. Ou seja, todo mundo se sente em casa!
Opensource
O Spring Boot é um projeto opensource, disponível no GitHub e licenciado pela Apache License 2.0. Com isso, você consegue ter acesso a todo o código e pode colaborar com o desenvolvimento do projeto.
Quando usar Spring Boot?
Essa pergunta é muito interessante. De modo geral, podemos dizer que o Spring Boot é um framework bem interessante no tocante a desenvolvimento de aplicaçoes web na JVM, por todos os motivos supracitados. Isso vale tanto para migração de aplicações mais antigas, desenvolvidas em outros frameworks mais antigos, quanto para o desenvolvimento de novas aplicações. Apesar de ser razoavelmente novo (sua primeira versão estável foi lançada em 01/04/2014), ele é bem robusto e tem sido utilizado com bastante sucesso em produção.
Contudo, é importante notar que considerando microsserviços, começaram a surgir outros frameworks como Micronaut e Quarkus que se colocam como fortes desafiantes. Diferentemente do Spring Boot, esses novos frameworks já nasceram focados em microsserviços, e portanto prometem tempos de inicialização melhores, entre outras vantagens.
Portanto vale a pena conhecê-los também para tomar a melhor decisão, considerando o seu contexto. Vale lembrar que nesse aspecto o Spring Boot tem como uma grande vantagem o grande número de desenvolvedores que já trabalham com ele, enquanto esses novos frameworks ainda estão no começo de suas vidas.
Como começar?
O melhor jeito de começar uma aplicação Spring Boot é usando o Spring Initializr. Ele é uma interface web que permite definir qual versão do Spring Boot, linguagem, gerenciador de dependências (Gradle ou Maven) e dependências que você pretende utilizar no seu projeto. Após fazer essas seleções, você baixa um arquivo zip já com o projeto pronto para começar. Mais fácil, impossível né?
Recomendo você seguir esse guia para fazer sua primeira aplicação em Spring Boot. Espero que tenha gostado dessa breve apresentação. Logo, pretendo fazer mais posts sobre Spring Boot, então fique ligado aqui no blog. E se gostou, compartilhe nas suas redes sociais! Abraços e até a próxima.