是否有簡單的方法將簡單的原始類型參數(字符串和int)注入到bean中?如何使用Guice向bean注入簡單的配置參數?
我需要做的是找到吉斯相當於像這樣從spring.xml:
<bean id="aBean" ...>
<property name="fieldName" value="aStringValue"/>
<property name="anotherFieldName" value="123"/>
</bean>
值可能是構造注射,注射領域或方法注入,但我不希望使用爲需要傳遞給bean的每個值分別命名註釋或工廠或提供程序。
編輯:我的解決方案
這裏是我終於來到了。我認爲這與我所尋找的最接近,但任何改進都會受到歡迎。
我發現,在該模塊中,我可以聲明一個供應商的方法,並用它來設置,我需要的任何屬性:
MyModule extends AbstractModule{
...
@Provides @Named("testBean") MyTestBean createTestBean(MembersInjector<TestBean> mi){
TestBean test = new TestBean();
mi.injectMembers(test);
test.setFieldName("aStringValue");
test.setAnotherFieldName(123);
return test;
}
...
}
好的一點是,它提供一些方法爲bean替代了BIND()這樣實際的線數不會增加太多。
我仍然不是100%確定任何副作用,但它看起來很有前途。
你試過谷歌嗎? (例如http://code.google.com/p/guice-xml-config/) – Romain 2012-03-22 12:20:49
如果我必須使用xml,我寧願不從spring中遷移:) – Rado 2012-03-22 12:47:26
那麼,「從spring.xml 「聽起來像是對我來說顯然是XML。也許如果你提到你不想要XML?但在這種情況下還有什麼? PLIST?它有多好? – Romain 2012-03-22 12:51:33