Spring um Framework Action Based
No guia Desenvolvendo aplicações Java WEB com JSF,
demonstramos o uso dos frameworks como JSF e PrimeFace, que são considerados
componentes bases (based), mas se
tratando do Spring MVC, o fluxo de tabalho é diferente.
Num framework Action Based tudo fica separado de uma forma
clara. Então imaginemos que o navegador faz um requisição ao framework que a
recebe, e de acordo com o que for solicitado na barra do navegador ele fará a
entrega para o controller específico para aquela solicitação. O controller
repassa para o model que encaminha os dados para o banco de dados (consulta,
saldo, regras de negócio, validação), depois de trabalhados o model, repassa de
volta para o controller, que os encaminha novamente para o framework, é o
spring MVC que vai solicitar a View adequada para responder tal solicitação no
browser. Confira o funcionamento Action
Based na Figura 1.13 a seguir.
Figura 1.13
– Spring MVC – Modelo Action Based.
Observe acima que foi o framework mandou os dados para View[1].
Como não é o controller que envia as informações trabalhadas para a View,
passamos a ter muita flexibilidade para trabalha-los. Assim que os dados
chegarem na View, poderemos usar HTML, JavaScript, jQuery e CSS, para
trata-los. Uma das desvantagens do controller enviar os dados para o framework,
é que não conseguimos criar componentes Java para trata-los.
Vantanges e Desvantagens
O uso do Spring nos traz inúmeros benefícios mas também tem
uma compensação. Confira a seguir:
·
Vantagem
– Os dados são enviados do
controller para o framework que procura a View adequada, gerando um
flexibilidade maior, facilitando inclusive modificações no código no futuro;
·
Desvantagem
– Não conseguimos criar componentes controlados pelo Java. Também seremos
obrigados a conhecer mais sobre HTML, JavaScript e CSS, para criar os
componentes a serem trabalhados.
O Spring Boot
O Spring Boot
torna muito mais facil o gerenciamento de aplicações desenvolvidas para Spring. Com ele, o processo de geração
de um projeto de software é muito reduzido, dipensando a geração de quase todos
os arquivos de configuração necessários para uma aplicação rodar, pois ele fará
todo esse trabalho automaticamente. Restando para nós coisas simples como uma
pequena anotação no máximo, para que algo como um banco de dados funcione.
Um dos debates mais recorrentes dentro da comunidade de
desenvolvedores na indústria, é o tempo
que se perde na geração de um projeto. Foi daí que criou-se um tipo de template
(uma configuração default), que facilita a geração do projeto com menos
configuração. Capaz de entregar a aplicação praticamente pronta, e assim ser
modificada somente onde existe realmente necessidade. Como numa configuração do
de um banco de dados (citado anteriormente), ou até mesmo de um container como
o Tomcat, por exemplo. Imagine que a
configuração já estará pronta, e a execução será muito rapida. O programador
não perde tempo nem para fazer o deploy da aplicação. Tudo é feito pelo Spring Boot, muito rápido e automático.
Recursos Spring Boot
Dentre seus principais recursos podemos citar:
·
A criação de aplicativos Spring totalmente
autônomos;
·
Depoly e execução do Container, sem necessidade de implantar arquivos WAR[2];
·
Disponibilidade das dependências/bibliotecas
'iniciais' de forma automática, para que a aplicação possa rodar sem problemas;
·
Flexibilidade para modificar as bibliotecas de
terceiros sempre que necessário;
·
Dados obtidos através de métricas, verificações
de integridade e configuração externalizada, fornecidos para auxiliar na
produção;
·
Dispensa qualquer geração de arquivos de
configuração XML ou de código-fonte para a execução inicial do projeto.
No ato da geração deste guia o Spring Boot se
encontrava na versão 2.3.4.RELEASE (<https://spring.io/projects/spring-boot#learn>).
Excelente explicação. Me abriu os olhos!
ResponderExcluir