@Inject会话bean中的接口

时间:2015-08-26 13:19:23

标签: java-ee session-bean

我有一个无状态会话bean,它会从库中注入一个接口。

@Stateless
public class MyService {

    @Inject
    IMyLib iMyLib;
}

public interface IMyLib {
...
}

public class MyLib implements IMyLib {
...
}

这种缝合起作用!但为什么?容器怎么能知道要注射什么?

这是允许的和良好的做法吗?

1 个答案:

答案 0 :(得分:3)

这是一种很好的做法:使用接口将代码与实现分离。它还允许多个实现,可以使用限定符进行注释,因此代码的不同使用可以使用不同的实现。它还允许装饰器添加其他功能。

CDI documentation: What gets injected