我可以在ejb中使用特定的依赖注入方法吗?

时间:2013-10-06 13:59:12

标签: java ejb

例如,我有一个在构造函数中获得依赖的类,比如

class ExampleService() {

    private Dependency dep;

    public ExampleService(Dependency dep) {
        this.dep = dep;
    }

}

和依赖类:

class Dependency {

    public static Dependency getInstance() {
        return new Dependency();
    }

    private Dependency() {
        /*constructor implementation here*/
    }

}

我想通过@Inject EJB注释将Dependency.getInstance()方法的结果注入到ExampleService构造函数中。可能吗?怎么样?三江源。

1 个答案:

答案 0 :(得分:0)

在CDI中,生成器方法can be static,所以使用您的示例,以下内容可以正常工作:

class ExampleService() {

    private Dependency dep;

    @Inject
    public ExampleService(Dependency dep) {
        this.dep = dep;
    }

}

class Dependency {

    @Produces
    public static Dependency getInstance() {
        return new Dependency();
    }

    private Dependency() {
       /*constructor implementation here*/
    }

}

但是,正如您对问题的评论中提到的那样,根据您的需要,可能会有更好的方法。