Spring
Injeção de Dependências com
Spring Framework 3
O objetivo deste guia é expor o porquê, como usar e quais as melhores práticas relacionadas ao container de Injeção de Dependências (Dependency Injection, ou DI do
(Dependency
DI)
Spring Framework 3.0. O assunto pode interessar o leitor pelas seguintes razões:
Trata-se do núcleo do Spring Framework: sendo assim é conhecimento se obrigatório para todos aqueles que desejem usá-lo ou seus derivados. des Ainda mais importante: é um padrão de projeto que aumenta de forma significativa a qualidade dos sistemas nos quais é aplicado. Mesmo que o leitor não se interesse pelo Spring Framework, poderá usá-lo em seus trabalhos adotand outros adotando containeres como Pico, miocc ou mesmo o seu próprio se for o caso.
Um projeto de software ruim costuma apresentar três características rigidez, características: fragilidade e imobilidade. Frágil é aquele sistema no qual ao se introduzir uma modificação nos deparamos com efeitos inesperados em outros de seus componentes. A rigidez é conseqüência desta fragilidade: dada a dificuldade em se manter o sistema o fragilidade: desenvolvedor vê suas opções de atuação limitadas (ou mesmo anuladas) Já a mo anuladas). imobilidade diz respeito à dificuldade em se extrair partes do sistema que possam ser reaproveitadas em outros projetos.
Estes três problemas possuem a mesma causa: o alto acoplamento. Um sistema é considerado de alto acoplamento quando seus componentes internos são fortemente quando dependentes. Por componentes devem ser entendidas classes, fontes de dados, sistemas externos ou internos.
Para melhor entender o problema vamos usar um exemplo bastante trivial que será um software que busque títulos de livros escritos por determinado autor. Na imagem 1 usque podemos ver sua estrutura inicial. inicial Caminhando para a Injeção de