Guice可以初始化bean吗?

Vin*_*nie 4 java dependency-injection inversion-of-control guice

我之前使用过Spring(并且喜欢它),但是我想看看Guice.

有没有办法使用Guice将地图或列表等内容初始化为bean?

例如,我在Spring之前完成了以下操作,以便将我想要处理的项目列表注入到某个bean中.

<property name="FilesToProcess">
   <list>
      <value>file1.xml</value>
      <value>file2.xml</value>
   </list>
</property>
Run Code Online (Sandbox Code Playgroud)

我怎么能在Guice这样做?

Dav*_*ein 6

Guice2有MultiBindings和MapBindings,它们应该适合你.

https://github.com/google/guice/wiki/Multibindings

更新:

再看一遍之后,似乎您可能会问如何将运行时值注入Guice,可能是作为任意对象.

Guice非常专注于将所有内容都作为类型安全的代码,所以它并不适合这一点.我为Guice提供输入所做的就是创建一个XML模式并使用jaxb来填充它并注入生成的对象.

有一个Names.bindProperties方法,用于将常规旧属性绑定到Guice常量.

与Spring有一定程度的集成,所以你可能也想看看这个.