2013-04-22 58 views
0

我有以下的模塊轉換成吉斯:與谷歌吉斯參數(S)執行功能

Serializer serializer = new SerializerBinaryImpl("testdong"); 
Dong dong = new DongImplementation(); 
View view = new TextView(dong); 
dong.setSerializer(serializer); 
view.setDong(dong); 

這裏是我到目前爲止有:

bind(String.class).annotatedWith(Name.class).toInstance("testdong"); 
bind(Serializer.class).to(SerializerBinaryImpl.class); 
bind(Dong.class).to(DongImplementation.class); 
bind(View.class).to(TextView.class); 

//dong.setSerializer(serializer); - Not sure how to do  
//view.setDong(dong); - Not sure how to do 

簡單的解決方案是最佳的解決方案。這只是一個簡單的項目。

回答

1

你必須標註方法與@Inject(這被稱爲method/property injection):

@Inject 
public void setSerializer(Serializer serializer) { 
    this.serializer = serializer; 
} 

...

@Inject 
public void setDong(Dong dong) { 
    this.dong = dong; 
} 

這是沒有更多的配置你的模塊在做。吉斯機器會自動注入:

  • DongImplementationTextView
  • DongImplementation
+0

SerializerBinaryImpl我已經做到了,但隨後我怎麼叫他們在模塊中? – Kivylius 2013-04-22 15:48:23

+0

@Jessica我已經更新了我的答案。 – gontard 2013-04-23 08:11:35

+0

你的回答是正確的,但我發現我必須設置單身人士,然後它工作正常。 – Kivylius 2013-04-28 11:37:29