例如,我有一个在构造函数中获得依赖的类,比如
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构造函数中。可能吗?怎么样?三江源。
答案 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*/
}
}
但是,正如您对问题的评论中提到的那样,根据您的需要,可能会有更好的方法。