Injeção de dependência com o Guice

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.

E o que você acha do Guice?

Fonte: http://www.theserverside.com/news/thread.tss?thread_id=52252

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.

Acham que vale a pena pensar em aventurar-se pelo Guice pra DI a despeito do Spring em um novo projeto, ou ainda é cedo?

[]s

Muito interessante!

Assim que eu tiver algum tempo vou testar.

Abraços.

eu acho que vou voltar a programar em binário…

OOOO saudade de soh ter 0’s e 1’s para estudar e programar… algumas vezes, de tão inspirado, eu não usava nem 0, só usava 1…

@Inject public WeaselGirl(@Named("Fast") Vehicle vehicle) { //... }

[UPDATED] Especializar o parâmetro injetado é muuuito bom :wink: [/UPDATED]

Você quis dizer construtor não é? :slight_smile:

[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.

Seguindo a linha da galera do TSS e o artigo,o framework não me encheu os olhos.
8)

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.

Olá,

O Guide me parece [muito interessante], pois ela lhe oferece uma melhor análise e modularidade por tirar a dor de escrever as suas próprias fábricas.

Além de ser uma fonte aberta de dependência de injecção de quadro de desenvolvimento Java, que foi desenvolvido pelo Google.

E isso é Muito Bom!!! :smiley:

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.

Para os interessados… http://code.google.com/p/guicesf/

Só complemetando com alguns exemplos do Urubatan.:
http://www.urubatan.com.br/tutorial-google-guice-injecao-de-dependencias-by-google/
http://www.urubatan.com.br/aop-facil-com-o-guice/
sds.

[quote=Alessandro Lazarotti]@Inject public WeaselGirl(@Named("Fast") Vehicle vehicle) { //... }

[UPDATED] Especializar o parâmetro injetado é muuuito bom :wink: [/UPDATED]
[/quote]

Só para constar: se não me engano o spring também suporta. É a annotation @Qualifier e é possível criar sua própria anotação também.

[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).