使用CDI(焊接)在for循环中注入新对象

时间:2014-10-03 10:40:53

标签: cdi factory inject weld

我想向现有项目介绍CDI。目前我们正在为循环创建新对象,如

Context context;
for(String string : strings) {
    context = new Context();
    // do some operations with string.
    // set outcomes of above operation in context.
}

现在,如果我将Context注入

@Inject Context context;

我每次都得到同样的实例。

我想知道CDI中是否有任何方法可以创建新的Context内部循环?

1 个答案:

答案 0 :(得分:4)

只要您不使用特殊范围,就可以使用

@Inject
Instance<B> bProvider;

...
B b = bProvider.get();

你会得到一个新的&#34; B&#34;每次。查看this gist