【问题标题】:weld @Inject a interface焊接@注入接口
【发布时间】:2011-09-08 03:33:45
【问题描述】:

我是焊接新手。 我正在设置一个打包的 seam 3 项目战争。 我想发现 Picketlink 安全管理,为了测试他的各种管理器(在设置数据库和实体类之后),我创建了一个控制器(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 final。

在启动时我得到了:

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是什么意思?

问候

【问题讨论】:

    标签: jboss-weld


    【解决方案1】:

    我不确定是否理解。你想使用 JPA 持久化管理器还是你自己创建的类?

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

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

    【讨论】:

      猜你喜欢
      • 2018-01-19
      • 2011-02-16
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 2022-11-23
      相关资源
      最近更新 更多