Série da semana: Angular, API RESTful e Banco de Dados

Veja mais
O projeto está inativo

Como começar com Spring?

Nesta documentação você aprenderá o que é o Spring, framework Java criado com o objetivo de facilitar o desenvolvimento de aplicações e que explora, para isso, os conceitos de inversão de controle e injeção de dependências.

11

Introdução

O Spring é um framework Java criado com o objetivo de facilitar o desenvolvimento de aplicações, explorando, para isso, os conceitos de Inversão de Controle e Injeção de Dependências. Dessa forma, ao adotá-lo, temos à nossa disposição uma tecnologia que nos fornece não apenas recursos necessários à grande parte das aplicações, como módulos para persistência de dados, integração, segurança, testes, desenvolvimento web, como também um conceito a seguir que nos permite criar soluções menos acopladas, mais coesas e, consequentemente, mais fáceis de compreender e manter.

Por que o Spring foi criado?

O Spring foi criado por causa das dificuldades que os programadores enfrentavam ao criar determinado tipo de aplicação, mais precisamente, aplicações corporativas. Na época, a plataforma Java voltada para isso, de nome J2EE, ainda era jovem, com ótimas ideias para a construção de aplicações leves, distribuídas, com um amplo leque de opções/ferramentas, mas com algumas limitações. Essas limitações levavam a uma programação dependente de muitas interfaces e com muitas configurações. Ao final, era comum ter uma solução pesada e que trazia consigo muito mais do que o que realmente era necessário.

E para completar, precisávamos utilizar servidores de aplicação pesados, o que tornava a programação e a depuração das aplicações ainda mais lento.

Características do Spring Framework

Seguindo um caminho diferente, em pouco tempo o Spring conquistou seu espaço na comunidade. Mas, que caminho diferente foi esse?

  1. A primeira diferença é que ele não precisa de um servidor de aplicação para funcionar. Fazendo uso apenas da JVM, o Spring traz para o programador recursos que antes só estavam disponíveis para soluções corporativas;
  2. Com Spring também passamos a utilizar apenas aquilo que é necessário para o projeto. Como mencionado agora há pouco, a plataforma J2EE e os EJBs nos levavam a implementar comportamentos que não eram necessários. Esse diferencial do Spring torna a arquitetura mais leve, fácil de compreender, manter e evoluir;
  3. Outro diferencial é que ele é baseado na inversão de controle e injeção de dependência, fornecendo para isso um container, que representa o núcleo do framework e que é responsável por criar e gerenciar os componentes da aplicação, os quais são comumente chamados de beans.

Inversão de controle e Injeção de dependência

Para entender esses conceitos, saiba que a Inversão de Controle (IoC - Inversion of Control) permite delegar a outro elemento o controle sobre como e quando um objeto deve ser criado e quando um método deve ser executado, por exemplo. Assim, essas responsabilidades, isto é, o controle sobre a execução de alguns comportamentos, passa a ser gerenciado por esse elemento, não cabendo mais a nós, programadores, definirmos isso.

No caso do Spring, chamamos esse elemento de container. Temos, assim, o princípio da inversão do controle. Para melhor compreensão, vejamos um exemplo à parte: Ao construir a interface gráfica com Swing, não precisamos ficar verificando se o usuário clicou em um botão. Precisamos apenas implementar uma ação para aquele botão e pronto. Assim que ele for clicado, essa ação será executada sem que precisemos nos preocupar com isso.

E a Injeção de Dependência? A Injeção de Dependência (DI - Dependency Injection) é uma das maneiras de implementar a Inversão de Controle. Com a Injeção de Dependência a classe deixa de se preocupar em como resolver as suas dependências. Ela passa a manter o foco apenas no uso dos recursos das dependências para realizar as tarefas que precisa. E isso leva a uma das características mais conhecidas quando programamos com Spring: não precisamos utilizar o new para criar os objetos por ele gerenciados, pois isso passa a ser feito pelo framework.

O que é IoC Instanciar objetos Executar tarefas Papel do container Benefícios da inversão de controle
Saiba mais Veja a Série Entre de cabeça no REST
Suporte ao aluno - Deixe a sua dúvida.
Assinatura Devmedia
Faça parte dessa comunidade 100% focada em programação e tenha acesso ilimitado. Nosso compromisso é tornar a sua experiência de estudo cada vez mais dinâmica e eficiente. Portanto, se você quer programar de verdade seu lugar é aqui. Junte-se a mais de...
+ 800 Mil programadores
,90* / mês
  • Séries
  • Projetos completos
  • Cursos
  • Guias de carreiras
  • DevCasts
  • Desafios
  • Artigos
  • App
  • Suporte em tempo real
A assinatura é cobrado através do seu cartão de crédito. *Tempo minimo de assinatura: 12 meses.
Assinatura Devmedia
Faça parte dessa comunidade 100% focada em programação e tenha acesso ilimitado. Nosso compromisso é tornar a sua experiência de estudo cada vez mais dinâmica e eficiente. Portanto, se você quer programar de verdade seu lugar é aqui. Junte-se a mais de...
+ 800 Mil programadores
Conheça agora!
,90* / mês
  • Séries
  • Projetos completos
  • Cursos
  • Guias de carreiras
  • DevCasts
  • Desafios
  • Artigos
  • App
  • Suporte em tempo real
A assinatura é cobrada através do seu cartão de crédito. *Tempo mínimo de assinatura: 12 meses.