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:
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 :)
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.
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?! :)
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!
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.
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.
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
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.
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.
Opa “Henrique Lobo”! Que bom que gostou!
Nota: existem dois “Henriques Lobo” no Brasil. Um sou eu, outro é ele! Não é o máximo?
Mesmo sendo do mundo .NET gostei bastante do artigo. O exemplo é bem didático e foi muito bem explicado.
Parabéns !
Oi Ari, fico feliz que tenha gostado. Valeu!
Realmente muito bom o material, parabéns!
Pingback: Spring Framework 3 – 100% Livre de XML « Programando com Java
Pingback: Spring Framework 3 100% Livre de XML - MBallem | Programando com Java
O link está quebrado para download. Seria possivel verificar. Agradeço. Estou lendo no scribd, mas queria o download.
Oi Leonardo,
o disponibilizei nos guias da itexto – http://www.itexto.com.br/guias