0% acharam este documento útil (0 voto)
50 visualizações14 páginas

As Frameworks Spring e Spring Boot - by Diego Lucas Sousa - Medium

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
50 visualizações14 páginas

As Frameworks Spring e Spring Boot - by Diego Lucas Sousa - Medium

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 14

Open in app

Search

Be part of a better internet. Get 20% off membership for a limited time

As Frameworks Spring e Spring Boot


Entendendo as diferenças e utilidades de Spring e Spring Boot

Diego Lucas Sousa


5 min read · Jan 5, 2024

Share More

Photo by Clément Hélardot on Unsplash


Ao tratar de linguagens de programação com propósitos generalizados,
estamos englobando um universo de recursos incluídos em uma única
plataforma, é o caso do Java. Trabalhar com programação em Java
permite lidar com uma gama de opções e funcionalidades para o
desenvolvimento das mais diversas aplicações. Contudo, o mercado
possui demandas comuns que são repetidas em vários produtos.

Nesse contexto, projetos começam a possuir um modelo relativamente


repetido, que possui vários requisitos similares. Quanto maior o projeto,
mais especificações, especialmente de segurança, são necessárias, e a
configuração e produção do mesmo se torna cansativa. Assim
encontramos soluções em frameworks, que trazem em si os elementos
repetidos já pré-configurados e prontos para desenvolvimento.

Por esse motivo, houve busca por estruturas e ferramentas de


programação que tragam maior produtividade aos desenvolvedores de
software e às corporações. Mais especificamente, a busca por soluções
para o desenvolvimento em Java gerou diversas iniciativas,
principalmente no universo de aplicações web. Nesse contexto que
frameworks como Spring e Spring Boot surgiram.

Soluções de baixo custo, versatilidade, segurança e alta demanda, essas


frameworks são comumente usadas no mercado. O trabalho de
configuração generalista e complexo se torna um peso a menos na vida
do programador e passa a ser resolvido por essas ferramentas.

Como um desenvolvedor de software Java, é importante entender essas


diferentes ferramentas e suas aplicações no mercado atual,
principalmente porque grandes empresas como Udemy, Ifood e
MercadoLivre já reportaram que utilizam-nas em seus sistemas.

Spring
Spring Framework é uma ferramenta de aplicação open-source para a
plataforma Java. Os seus recursos principais, como a inversão de
controle, podem ser usados por qualquer aplicação, sendo que há
inúmeras extensões para a criação em web sobre a plataforma Java EE.
Mesmo que a framework não exija nenhum modelo de programação,
ela se tornou muito popular como adição ao modelo EJB (Enterprise
JavaBeans) na comunidade de desenvolvedores.

Como mencionado acima, é uma framework open-source, ou seja, livre


para distribuição e modificação dos usuários. Seu objetivo é simplificar
o desenvolvimento de aplicações Java corporativas, assim como
programação leve com Java POJOs (Plain Old Java Objects), minimizar
código boilerplate* com classes assistentes. Além disso, ela também
promove a utilização de injeção de dependência para vinculação fraca
(loose coupling*) entre seus componentes.

Spring oferece uma variada gama de recursos para melhorar a


produtividade do programador em sua infraestrutura, separando-se em
módulos. Alguns exemplos que incluem as principais funcionalidades
que um projeto requer são: Spring MVC, Spring Security, Spring Test,
entre outros. Cada um deles permite uma produção mais eficiente e
robusta para aplicações, considerando os padrões da indústria.

Podemos identificar vários benefícios na implementação de Spring,


especialmente pelo fato de que pode ser usado em todas as camadas de
desenvolvimento de uma aplicação. Já mencionado anteriormente, é
uma opção leve para produção robusta. Além disso, é uma opção para
desenvolvimento escalável, como no caso de microsserviços.

Apesar de suas features trazerem grande mudança no mercado de


desenvolvimento de software, ainda assim o Spring sofreu muitas
críticas principalmente com relação ao modo como se configura seu
container utilizando arquivos XML, que se tornavam cada vez mais
difíceis de serem mantidos conforme a aplicação aumentava. Além
disso, a gestão de dependências também foi alvo de reclamações por sua
complexidade, algo que piorou com o tempo, já que a programação de
aplicações também tem se tornado mais complexa.

Boilerplate = termo usado para descrever código que deve ser repetido
diversas vezes

Loose Coupling = quando partes do sistema funcionam independentes


entre si

Spring Boot
Então chegamos ao Spring Boot, que veio juntamente com a crescente
demanda no mercado por uma opção de simples implementação e
produção. Enquanto Spring se tornava cada vez mais complexo, gerando
dificuldade na criação de aplicações baseadas nele, o Spring Boot veio
para oferecer setup simples e pré-configurado.

Spring Boot é um micro framework mantido pela Pivotal, uma empresa


americana multinacional de software e serviços fundada em 2013. A
ideia por trás dessa ferramenta é aproveitar as tecnologias já existentes
para aumentar a produtividade dos desenvolvedores. A mudança agora
está na forma como se configura, organiza e executa o código das
aplicações, como mencionado acima, trazendo uma solução para as
críticas feitas anteriormente ao Spring 4.0.

Alguns de seus principais recursos: Flexibilização na configuração de


Java Beans, arquivos XML e transações da base de dados; Sem
configurações manuais, tudo é auto-configurado pelo próprio Spring
Boot; Aplicações baseadas em annotations; Facilita o gerenciamento de
dependências.
Basicamente, sua arquitetura pode ser explicada como uma fina camada
que se sobrepõe em tecnologias e ferramentas já estabelecidas e
consagradas no mercado, com a diferença principal sendo no modo
como se acessa e configura essas soluções. A intenção por trás do
Spring Boot é minimizar o código e torná-lo o mais simples possível.

Porém, assim como Spring, ainda há diversos problemas envolvidos na


produção com Spring Boot. Como tudo é pré-configurado, há um menor
controle, além de uma quantidade de dependências não usadas que
geram um arquivo grande. Além disso, não é considerada uma boa
ferramenta para criação de aplicações em larga-escala (apesar de ser
muito usada para desenvolvimento de microsserviços).

Conclusão
Ambas são ferramentas utilizadas no mercado que trazem uma série de
benefícios para um desenvolvedor Java. Spring é leve e auxilia na
produção de código com boas práticas. Spring Boot é auto-configurado e
possui padrões intuitivos, aumentando a velocidade de programação e
simplificando o código.

Considerando isso, atualmente a prática comum é aplicar as duas em


conjunto. Dificilmente será vantajoso utilizar Spring em sua essência.
Apesar das configurações do Spring Boot vir acompanhado de várias
dependências desnecessárias, ainda é uma opção viável na maioria dos
casos. Especialmente porque Spring Boot é simplesmente uma extensão
do Spring.

Spring Boot Spring Framework Java Programação

Desenvolvimento Software
Edit profile

Written by Diego Lucas Sousa


2 Followers

Triathlete In Production | Computer Scientist Bachelor | Writing About Whatever Comes To


Mind

More from Diego Lucas Sousa

Diego Lucas Sousa

Definindo e Alinhando Metas com OKRs


Objectives and Key Results (Objetivos e Resultados Chave)

Jan 13

Diego Lucas Sousa

Management 3.0 e sua Definição


O Conceito Básico Sobre Gerenciamento Moderno

Jan 9
Diego Lucas Sousa

Entendendo o Conceito de Lean


Produzindo Mais Valor com Menos Recursos

Jan 4

Diego Lucas Sousa


Sendo Ágil em Auto-Gerenciamento — Parte 11
Melhoria Contínua e Frequente

Apr 10, 2023

See all from Diego Lucas Sousa

Recommended from Medium

Saeed Zarinfam in ITNEXT

10 Spring Boot Performance Best Practices


Making Spring Boot applications performant and resource-efficient
Jun 24 125 3

Vasko J

Say Goodbye to Repetition: Building a Common Library in


Spring Boot
Learn to create a shared library in Spring Boot, enhancing code reusability,
simplifying maintenance, and reducing bugs in your…

6d ago 88 3

Lists

General Coding Knowledge


20 stories · 1336 saves

data science and AI


40 stories · 194 saves
Oliver Foster

Spring Boot: How Many Requests Can Spring Boot Handle


Simultaneously?
My article is open to everyone; non-member readers can click this link to read the
full text.

Jun 16 645 10
Renan Schmitt in JavaJams

Spring Boot: Handling a REST Endpoint That Queries More


Data Than Memory Available
If you are a developer and have not faced this issue yet, it is still worth reading, as
at some point in your career, you will likely need…

Jun 24 133

Gain Java Knowledge

Implement your own Rule-Engine in Spring Boot


Rule-Engine is an expert-system program, which runs the rules on the input data
and if any condition matches then it executes the…

May 31 49 1
Pallavi Devraye

Best Practices for Exception Logging in Spring Boot: Real-Time


Examples
Exception logging is a critical aspect of building resilient and maintainable Spring
Boot applications. Effective logging not only helps in…

Jun 23 153

See more recommendations

Você também pode gostar