超类中的javaee注入
我试图在一个超类中注入一个bean,如下所示:超类中的javaee注入,java,dependency-injection,Java,Dependency Injection,我试图在一个超类中注入一个bean,如下所示: public class DsmCrudDaoProcuder { @Produces public static DsmCrudDao produceDao(InjectionPoint injectionPoint) { return ((CRUDSessionBase)injectionPoint.getBean()).createCrudDao(); } } public abstract c
public class DsmCrudDaoProcuder
{
@Produces
public static DsmCrudDao produceDao(InjectionPoint injectionPoint) {
return ((CRUDSessionBase)injectionPoint.getBean()).createCrudDao();
}
}
public abstract class CRUDSessionBase{
@Resource public SessionContext context;
protected static Log log = LogFactory.getLog(CRUDSessionBase.class.getName());
protected static Log logger = LogFactory.getLog(CRUDSessionBase.class.getName());
@Inject @New
DsmCrudDao dao;
/**
* Get the concrete DAO
*
* @return
*/
protected abstract DsmCrudDao createCrudDao();
....
}
此操作在部署时失败:
WELD-001409类型[DsmCrudDao]的不明确依赖项,带有
注入点[[field]@Inject处的限定符[@Default]
com.windriver.dsm.ejb.CRUDSessionBase.dao]。可能的依赖关系
[[managedbean]类
com.windriver.dsm.labmanagement.dao.TECodeCoverageDao]和限定符
[@Any@Default],托管Bean[类
com.windriver.dsm.enterprise.dao.BinaryGroupDao]和限定符[@Any]
@默认],托管Bean[类
com.windriver.dsm.labmanagement.dao.TeBlockCoverageDao]
限定符[@Any@Default],托管Bean[class]
com.windriver.dsm.enterprise.dao.DeviceSupportedServiceDao]带有
限定符[@Any@Default]
错误列表中的所有bean都是DsmCrudDao
的派生类
有没有办法让这一切顺利进行