0

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

@Stateless
public class MyService {

    @Inject
    IMyLib iMyLib;
}

public interface IMyLib {
...
}

public class MyLib implements IMyLib {
...
}

这接缝工作!但为什么?容器怎么知道要注入什么?

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

4

1 回答 1

3

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

CDI 文档:注入的内容

于 2015-08-26T13:22:59.047 回答