java - 使用 @EJB(beanName = "myBean") 构造函数注入(inject)

标签 java dependency-injection ejb

这可能吗? 我想这样做:

@EJB(beanName = "MyStratImpl")
public DateTimeReadImpl(MyStrategy<MyBean> myStrategy) {
  this.strategy = myStrategy;
}

我有一个无参数构造函数,我想使用构造函数注入(inject)而不是进行字段注入(inject):

@EJB(beanName = "MyStratImpl")
private MyStrategy<MyBean> myStrategy strategy;

如何使用 ejb 引用作为构造函数参数?

(我可以使用setter注入(inject),或反射来注入(inject),但我不想)

最佳答案

我不认为EJB支持构造函数注入(inject),但是你可以使用CDI :

@Inject
public DateTimeReadImpl(MyStrategy<MyBean> myStrategy) {
    this.strategy = myStrategy;
}

您需要enable CDI为了这个工作。另外,如果您有多个 bean 实现 MyStrategy<MyBean> ,您可以使用qualifiers .

关于java - 使用 @EJB(beanName = "myBean") 构造函数注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29650563/

相关文章:

java - 是否可以使用在同一个 @Configuration 类中定义的 @Resource 实例?

android - 是否有关于 Dagger 在注入(inject)依赖项时何时回退到反射的文档?

ejb - @Stateless 和 @Singleton 的区别

java - 找不到符号: SmbFileInputStream instantiated in try-catch

java - 带LinkedHashMap的多维字节数组……还有更好的办法吗?

java - React + Spring Boot上传文件和表单数据

laravel - 我如何做类型提示 'automatic injection' 自定义类 laravel

java - 从 Internet 上看到 RMI,但从 LAN 上看不到 RMI

java - Guice vs EJB 用于注入(inject)池

java - 使用 JAX-WS 提取整个 SOAP 消息