Guice é um framework de injeção de dependência criado pelo Google para desenvolvimento Java. O Guice permite uma melhor análise e modularidade do que escrever as suas próprias fábricas. Este artigo oferece um tour dos conceitos mais importantes do Guice.
muito interessante a abordagem do guice. bastante parecido com a idéia básica trabalhada no webbeans.
acrescento aqui também um vídeo com algumas demonstrações e práticas de uso do guice no Google Open Source Developer Series link.
[quote=rcarneiro][quote=Alessandro Lazarotti]
Injeção em método é muuuuito bom.
[/quote]
Você quis dizer construtor não é? :)[/quote]
… ops, obrigado pela correção Rafael. Na realidade eu estava me referindo a parâmetros. Tanto no construtor quanto no método você pode especializar o nível da abstração.
Acho o esquema de DI do Guice interessante, mas sinto falta de um “batteries included” como é no Spring. Neste framework, existe integração para praticamente toda a especificação Java EE, e vários frameworks provêem integração ou roda em cima do Spring.
É até possível criar providers para integrar o Guice com o ambiente Java EE, mas o chato é que EU tenho que fazer isso, ao invés de já estar no pacote, pronto pra usar.
[quote=Leonardo3001]Acho o esquema de DI do Guice interessante, mas sinto falta de um “batteries included” como é no Spring. Neste framework, existe integração para praticamente toda a especificação Java EE, e vários frameworks provêem integração ou roda em cima do Spring.
É até possível criar providers para integrar o Guice com o ambiente Java EE, mas o chato é que EU tenho que fazer isso, ao invés de já estar no pacote, pronto pra usar.
[/quote]
Um coisa é uma coisa e outra coisa é outra coisa. O Guice é um framework de Injeção de Dependência, só isso.
Bom eu já usei o guice em alguns projetos e a facilidade é enorme… tanto que eu criei um módulo para usá-lo em meus projetos JSF. Ah lembrando que o Guice tambem já possui um módulo para o Struts.
[quote=frocchagas]Acham que vale a pena pensar em aventurar-se pelo Guice pra DI a despeito do Spring em um novo projeto, ou ainda é cedo?
[/quote]
Depende o Spring que vc está pensando. O Spring 2.5 contém quase tudo o que o Guice faz.
O Guice tem um conceito diferente que é o de escopos que - até onde sei - o Spring não tem. contudo, os conceitos de injeção com anotações são iguais em ambos. (apenas as anotações são diferentes).