Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Servlet puro (mais liberdade) ou Spring (fechado ao padrão), qual a melhor forma de implantar um sistema web Java?

Olá, percebi que Spring e servlet cumprem a mesma função, o framework traz mais vantagens fora a facilitação e adoção de um padrão? Ou é possível manter os projetos em Servlet, mesmo trabalhando mais, e obter o mesmo resultado?

3 respostas
solução!

Fala Matheus, tudo bem ?

A resposta para suas duas perguntas é sim (rs).

É possível manter os projetos apenas usando a API de Servlets, e obter o mesmo resultado. Porém o trabalho tende a ser muito mais desgastante do que o que seria feito com um framework como o Spring. Em muitos casos você vai se deparar com situações onde está reescrevendo o mesmo código que já foi escrito em algum momento anterior do projeto. Além de ter que trabalhar com uma API (Servlet) que oferece menos recursos e já é um pouco antiga.

Nessas situações talvez você optará por escrever um código abstraindo esse trabalho repetitivo, isolando uma solução caseira para o problema enfrentado. E será necessário um tempo de desenvolvimento e testes nessa solução para não ficar perdendo tempo a cada nova funcionalidade.

Esse trabalho em geral já foi feito pelos frameworks MVC. Que além de ja ter uma implementação de muita qualidade para o padrão MVC , já tem essa solução testada, validada e com suporte na comunidade, dado que é hoje o framework mais utilizado para apps web com Java.

O framework traz bem mais vantagens fora a facilitação e adoção de um padrão. A stack do Spring não se limita apenas à camada MVC. Além de contar com essa implementação para web (que já é muito completa e facilita a vida com integrações com ferramentas de validação, conversão, etc), temos já disponível o container de inversão de controle do Spring, as integrações com outras camadas que em geral estão presentes na aplicação como acesso a dados (com Spring ORM), controle transacional (Tx também provida pelo Spring ORM), convenção sobre configuração se você levar sua solução para o esquema delimitado pelo projeto Spring Boot, e muitos outros.

A Stack de tecnologias do Spring é muito completa e traz muitas funcionalidades interessantes para você se preocupar apenas em escrever o código necessário ao seu negócio, e não perder tempo reescrevendo código apenas com Servlet. Usar o Spring vai valer muito mais a pena pro seu projeto, acredite!

Espero ter ajudado. Abraço!

Para quem é novato em java web, vale a pena aprofundar o conhecimento em Servlets ou deve-se partir logo para o aprendizado do framework Spring?

Fala Thiago..

O quanto antes o desenvolvedor dominar o trabalho com os frameworks melhor. Mas como eles adicionam recursos a toda a base de trabalho da API de Servlets (funcionam como uma camada superior à especificação de Servlets) é fundamental no início termos um bom domínios sobre a especificação de Servlets, até porque isso também vai facilitar o entendimento mais a fundo dos frameworks pra web.

Abraço!