如何实例然后一个CDI/焊接豆一类?
-
22-09-2019 - |
题
在春天的这是可能的实例的任何一类的定义相对应的豆xml conf.这也是可能的实例更然后一个豆对于同一类不同的参数。....
是这样的特征,在土发委会,即是否有可能创造不同情况下的相同类有不同的初始化参数?
它还可能创造一个豆,而不改变类。...我的意思是没有添加注解?
加入
让我让一个例子。
<bean id="someBean1" class="org.mm.MyBean">
<property name="x" value="xx"/>
<property name="y" value="yy"/>
<property name="z" value="zz"/>
</bean>
<bean id="someBean2" class="org.mm.MyBean">
<property name="x" value="other value"/>
<property name="y" value="yy2"/>
<property name="z" value="zz2"/>
</bean>
如何可以实例的两个实例相同的级和初始化他们与不同领域的价值观?
其他提示
有几个方法可以做到这一点。
E.g。使用@New
私人@Inject @New YourBean YB; 私人@Inject @New YourBean YB2;
这迫使容器中创建一个新的实例,无论豆原本有什么范围。
另一种方法是简单地定义YourBean为@Dependent作用域(这是顺便说一句(目前)如果一个类不是在所有注释的默认值)。
可以很容易地使用生产商的方法,如果你有多个实例,应该由一个方法使用CDI限定符产生,以区分不同类型的实例。
您也可以使用Seam配置做到这一点春天的方式,但我认为制作方法是这样做的更优雅的方式。 取决于你的使用情况下,存在另一种选择是@Alternative。
不隶属于 StackOverflow