我有一个我想成为豆类的课程
public class SomeBean{
public SomeBean(){
//default constructor
}
public SomeBean(String someStr){
//constructor with arguments.
}
}
为了手动创建CDI bean,我执行以下操作
Bean<?> bean = (Bean<?>) beanManager.resolve(beanManager.getBeans(SomeBean.class));
SomeBean someBean =(SomeBean) beanManager.getReference(bean, bean.getBeanClass(), beanManager.createCreationalContext(bean));
但是上面的方法将创建SomeBean实例和wth默认构造函数。如何创建bean并将String参数传递给construcot? 附: CDI - WELD
答案 0 :(得分:0)
使用给定的构造函数参数定义bean的标准方法是通过生成器方法,例如
@Produces @ApplicationScoped @MyQualifier
public SomeBean myBean() {
return new SomeBean("foo");
}
除非您想创建CDI扩展名,否则应用程序代码通常不必使用BeanManager
。