首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >weld @Inject a interface

weld @Inject a interface
EN

Stack Overflow用户
提问于 2011-06-04 05:51:28
回答 1查看 1.1K关注 0票数 2

我刚开始焊接。我正在安装一个打包的Seam3项目。

代码语言:javascript
复制
@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");
  }
}

我的env是jboss 6最终版。

在启动时,我得到了:

代码语言:javascript
复制
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的含义是什么?

问候

EN

回答 1

Stack Overflow用户

发布于 2011-07-18 20:02:02

我不确定能不能理解。您想使用JPA persistence Manager,还是您自己创建的类?

如果它是JPA持久性管理器,那么您不必提供实现,只需在persistence.xml文件中配置JPA即可。

如果是您的接口和类,我鼓励您更改它们的名称,因为它们非常令人困惑。您应该检查您的实现是不是一个有效的CDI Bean : concrete类,它没有构造函数,或者至少是一个没有参数的默认构造函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6233023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档