Simplificando o que é o Spring

Leonardo Giuliani
2 min readOct 15, 2019

--

Spring é a estação das flores… opa, Spring errado. (-_-)

Spring trata-se de uma tecnologia não intrusiva, baseada nos padrões de projeto inversão de controle e injeção de dependência.

Em qualquer lugar que se buscar por definições do que é Spring acharemos algo como a citação acima. Porém, por conceito, basicamente todo framework leve ( lightweight) é baseado na ideia de inversão de controle (Quando a responsabilidade de informar a implementação a ser utilizada deixa de ser da classe, passando a ser de quem consumi-lá). Sendo assim, é mais que óbvio que o Spring se basearia nisso. Então afinal, como podemos definir o Spring?

A ideia central por traz do Spring é o encapsulamento das regras de negócio. Antes do Spring ser concebido, eram necessárias muitas interfaces e e muitas configurações para criar aplicações de negócio. Com a criação do Spring isso diminuiu, já que o framework não precisa de um servidor de aplicação para funcionar. O Spring torna a aplicação mais leve também, pois utiliza apenas aquilo que é necessário para o funcione. Porém, onde o Spring mais se destaca é no seu controle de injeção de dependências.

A Injeção de Dependência é uma técnica de desenvolvimento utilizada para evitar o alto nível de acoplamento de código ( Quando os componentes de uma aplicação dependem muito uns dos outros) dentro de uma aplicação. Utilizando a injeção de dependências o framework fica responsável por “injetar” as dependências que iremos utilizar de um determinado componente declarado. Para controlar isso tudo o Spring utiliza o que chamamos de container, algo como o núcleo do framework.

No Spring o container se encarrega de “instanciar” classes de uma aplicação Java e definir as dependências entre elas através de um arquivo de configuração. Dessa forma o Spring permite o baixo acoplamento entre classes de uma aplicação.

A forma como o Spring controla toda essas estrutura o tornou tão popular entre a comunidade Java, já que a qualidade do software normalmente é inversamente proporcional ao grau de acoplamento de seus componentes.

Para simplificarmos bastante então, podemos dizer que o Spring é um excelente container de injeção de dependências que agrega vários outros módulos visando facilitar o desenvolvimento de aplicação de negócios.

Referências

  • Vire o jogo com Spring Framework [Henrique Lobo Weissmann]
  • Injeção de Dependência [Eduardo Lanfredi, 2017]
  • O que é Spring? [Portal Gsti]
  • Spring Framework: Introdução [iMaster]
  • Como começar com Spring? [DevMedia]

--

--

Leonardo Giuliani

Desenvolvedor, entusiasta e apaixonado por software e todo tipo de tecnologia. Pós-graduando de Engenharia de Software.