Guia itexto: o container de Injeção de Dependências do Spring 3.0

O que é injeção de dependências? E um container de injeção de dependências? Alto acoplamento? Pra que serve o Spring framework? O que isto tudo tem a ver com o meu dia a dia como desenvolvedor?

Após ouvir diversas vezes estas perguntas, resolvi arregaçar as mangas e escrever um pequeno guia que explica o que é o Spring Framework e seus conceitos relacionados: inversão de controle, injeção de dependências, o container, alto acoplamento e muitos outros conceitos relacionados. Aproveito e também exponho algumas boas práticas que tornarão a sua vida bem mais fácil.

Se você possui curiosidade a respeito deste framework, mas costuma se perder com os conceitos envolvidos, este guia é para você.

Nota: esta é apenas a primeira versão do guia. Com certeza algumas correções serão feitas nos próximos dias, e você é parte importante neste processo. Caso encontre algum erro ou sugestão, por favor, entre em contato comigo através dos comentários presentes neste blog ok?

Update (17/11/2010): a pedidos, fiz o upload do guia para o Scribd também. Pode ser acessado neste link.

Para baixar o guia, basta clicar no link abaixo:

17 comentários em “Guia itexto: o container de Injeção de Dependências do Spring 3.0”

  1. Excelente artigo não só de Spring, mas também de IoC e DI. Muitos vão aproveitar. Eu até teria economizado e nem mostrado a parte de configuração via XML :)

    1. Oi Paulo, que bom que gostou! Valeu!

      A parte da configuração XML, apesar de muita gente detestar, acredito que seja importante estar presente, porque, ao menos na minha opinião, é bastante útil pra se obter uma compreensão do funcionamento dos padrões de IoC e DI.

  2. Parabéns pelo guia, muito bom mesmo

    Legal ver a explicação de algumas annotations menos triviais, mas que são bastante úteis!

    O Padrão Factory citado é o Method Factory, isso?! :)

    1. Oi Pablo, fico feliz que tenha gostado. Valeu!

      Não, o padrão factory é o padrão factory da GoF mesmo :) – vou revisar o texto pra ver se deixo isto mais claro. Valeu!

  3. Gostei bastante da apostila Kico, achei bem didática e gostei especialmente o fato de você dar o conceito teórico do pattern junto com um código de exemplo e o caso de uso com o spring.

    Quando aprendi Design patterns na faculdade era bem difícil ver a teoria se encaixando com a prática(tanto que fiz a cadeira duas vezes =P) pois usavamos UML. Aprender Spring sem entender bem os conceitos que o regem e os benefícios que ele te traz é bem massante e diria até contra-produtivo.

    Parabéns.

    1. Oi Raphael, fico feliz que tenha gostado, valeu!

      Enfrentei os mesmos problemas que você. No caso do Spring, o grande problema que vejo é o seguinte: todo mundo sabe que é lindo e melhora nossos sistemas, mas poucas vezes li sobre COMO isto pode ser feito.

  4. Oi Kiko, parabéns pela apostila, conteúdo aparentemente “simples” do Spring, mas que muita gente não sabe e/ou usa de forma errada. Ficou bem didático!

    E discordo do Paulo quanto a não mostrar o conteúdo em XML; apesar de gostar dos metadados via anotações, a configuração XML ainda é a única que não põe o dedo no seu código.

    Abraço,

    @irobson

    1. Oi Robson, fico feliz que tenha gostado. Concordo com você a respeito do XML. Além disto, é também, na minha opinião, a melhor forma de expor o funcionamento por trás de um container de IoC.

      Tipo: é chato de escrever? Pode ser, mas torna explícito diversos detalhes do funcionamento que, muitas vezes, para o iniciante, passam despercebidos.

  5. Parabéns xará, o artigo está ótimo. A parte conceitual está muito esclarecedora. A comparação entre os tipos de configurações e suas utilizações no mesmo exemplo, foram fundamentais para absorção do conhecimento. Aprendi muito com a leitura.

    1. Opa “Henrique Lobo”! Que bom que gostou!

      Nota: existem dois “Henriques Lobo” no Brasil. Um sou eu, outro é ele! Não é o máximo?

  6. Pingback: Spring Framework 3 – 100% Livre de XML « Programando com Java

  7. Pingback: Spring Framework 3 100% Livre de XML - MBallem | Programando com Java

  8. Leonardo Anselmo

    O link está quebrado para download. Seria possivel verificar. Agradeço. Estou lendo no scribd, mas queria o download.

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Rolar para cima