焊接@Inject一个接口

时间:2011-06-03 21:51:28

标签: jboss-weld

我刚接触焊接。 我正在设置一个接缝3项目战包装。 我想发现picketlink安全管理,为了测试他的各种mamanger(在设置数据库和实体类之后),我创建了一个控制器(TestAction类),所以:

@Named("testAction")
@ConversationScoped
public  class TestAction implements Serializable{
  private static final long serialVersionUID = 1L;

  @Inject
  PersistenceManager persistenceManager;


  public void createUser() throws IdentityException
  {


    persistenceManager.createUser("TEST_USER");
  }
}

我的环境是jboss 6决赛。

在启动时我得到了:

WELD-001408 Unsatisfied dependencies for type [PersistenceManager] with qualifiers
[@Any] at enter injection point [[field] @Inject @Any
com.mycompany.myproject.action.TestAction.persistenceManager]

PersistenceManager是具有参数(IdentitySesionImpl)

的具体类的接口

我如何注入PersistenceManager? WELD-001408是什么意思?

此致

1 个答案:

答案 0 :(得分:0)

我不太明白。你想使用JPA持久性管理器还是你自己创建的类?

如果它是JPA持久性管理器,则不必提供实现,而是在persistence.xml文件中配置JPA。

如果是你的界面和课程,我鼓励你改变他们的名字,因为他们很混乱。你应该检查你的实现是否是一个有效的CDI Bean:没有构造函数的具体类,或者至少是没有参数的默认构造函数。