1
我是CDI的新手,尝试搜索用法,找不到任何内容并发布问题。我想知道如何使用CDI注入具有参数化构造函数的类的实例。我没有使用Spring,所以在春天如何完成并没有帮助。这里是我创建的一个示例,以显示问题所在。我的@Inject在这种情况下不起作用。如何使用CDI注入具有参数化构造函数的类的实例(仅适用于Java EE 6)
public class A
{
public A(boolean deliverFromLocalWarehouse)
{
if(deliverFromLocalWarehouse)
{
wareHouseId = new Integer(10);
}
else
{
wareHouseId = new Integer(100);
}
}
public void deliver()
{
//get wareHouse address by Id and initiate delivery.
}
private Integer wareHouseId = null;
}
public class B
{
@Inject
private A a;
}
感谢 Srikrishna Kalavacharla
谢谢s的回应。您建议对A级进行更改,以便可以注入它。问题仍然存在,我可以注入。更具体地说,在B类中,而不是@Inject private A a,它将如何改变?再次感谢您的帮助! – 2012-08-06 20:49:56
我也添加了注射的例子。 – meriton 2012-08-06 20:56:29
当我尝试最后一个选项时,它给了我错误“WELD-001408在注入点[[Field] @ LocalWarehouse @ Inject com.cdi.test.Ba]中带有限定符[@LocalWarehouse]的类型[A]的不满足依赖关系” – 2012-08-06 22:28:15