Я новичок в Java EE 7, я работаю с Java технологиями CDI, но, к сожалению, у меня проблема с инъекцией CDI. Я пишу Java Класс с Generi c Type, который представляет Дао для выбора и вставки данных в базу данных. Это часть моего кода:
@Named
@Dependent
public class UserDao<U extends User, Q extends UserQueryParam> extends AbstractUniversityEntityDao<U, Q> implements Serializable {
@Inject
public UserDao(Class<U> clazz) {
super(clazz);
}
Это файл bean, который правильно настроен:
<?xml version="1.0"?>
<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://jboss.org/schema/cdi/beans_1_0.xsd">
</beans>
Я пишу тест класса JUnit для тестирования моего класса; это часть моего кода:
Logger logger = Logger.getLogger (UserDaoTest.class);
@Inject
private UserDao<User,UserQueryParam> dao;
@Test
public void findByIdListTest() {
User user= dao.findByUsernameAndPassword("antonio","antonio");
assertNotNull(user);
assertEquals("antonio", user.getUsername());
assertEquals("antonio", user.getPassword());
}
К сожалению, когда я запускаю тест, у меня появляется эта ошибка:
Caused by: java.lang.Exception: {
"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"university-api.war\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"university-api.war\".WeldStartService: Failed to start service
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type Class<U extends User> with qualifiers @Default
at injection point [BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject public it.university.humaninteraction.dao.UserDao(Class<U extends User>)
at it.university.humaninteraction.dao.UserDao.<init>(UserDao.java:0)
Может ли кто-нибудь помочь мне решить эту проблему?