假设我已经编写了一个数据访问对象,我希望能够使用 CDI 将其注入到一个服务类中。此外,我有该 DAO 的两个实现。
我对 CDI 的理解是,我必须注释我的 DAO 实现类,以便 CDI 知道要注入哪个实现。
问题是,DAO 位于 .jar 文件中。通过使用 CDI 注释对其进行注释,我在非 JavaEE 类中使用了 JavaEE 导入。
例如,假设我有以下课程
public class BusinessService {
@Inject @SomeMybatisQualifier AccountDAO accountDao;
...
}
@Inject 注解来自 javax.inject.Inject。现在,这个服务类依赖于 JavaEE 环境。
有人可以向我解释我错过了什么吗?如何将非注释类注入另一个非注释类?这对于 Spring 来说相当简单。