在无法找到答案并包含beans.xml的情况下注入bean时获得以下异常:
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type CustomerAgreementDaoImpl with qualifiers @Default at injection point [BackedAnnotatedField] @Inject public com.evry.integrator.snow.fetch.CustomerAgreementFetcher.customerAgreementDaoImpl at com.evry.integrator.snow.fetch.CustomerAgreementFetcher.customerAgreementDaoImpl(CustomerAgreementFetcher.java:0) at org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:378) at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:290)
下面是代码结构:
/ WEB-INF中的Beans.xml
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_1.xsd" version="1.1" bean-discovery-mode="all"> </beans>
接口
public interface GenericDao<T, PK> { public interface CustomerAgreementDao extends GenericDao<CustomerAgreement, Long>{
实现通用DAO的抽象类
public abstract class GenericDaoImpl<T, PK> implements GenericDao<T, PK> { @PersistenceContext(unitName = "IntegratorMasterdataDS") protected EntityManager em;
主要实现
@Stateless public class CustomerAgreementDaoImpl extends GenericDaoImpl<CustomerAgreement, Long> implements CustomerAgreementDao { public CustomerAgreementDaoImpl() { System.out.println("CustomerAgreementDaoImpl"); }
服务类中使用的Dao
@Stateless public class CustomerAgreementFetcher { @Inject public CustomerAgreementDaoImpl customerAgreementDaoImpl;
主调度程序正在加载以上所有内容
@Startup
@Singleton
@AccessTimeout(value = 5, unit = TimeUnit.MINUTES)
public class WPoller {
@Inject
CustomerAgreementFetcher customerAgreementFetcher;
[在无法找到答案的情况下注入bean并在包含bean.xml的情况下注入以下异常:由以下原因引起:org.jboss.weld.exceptions.DeploymentException:WELD-001408:...