Код: Выделить всё
org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type AbstractDao with qualifiers @CustomQualifier
at injection point [BackedAnnotatedField] @Inject @CustomQualifier private com.example.MyBean.dao
at com.example.MyBean.dao(MyBean.java:0)
CustomQualifier.java
Код: Выделить всё
package com.example.annotations;
import jakarta.inject.Qualifier;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Qualifier
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD, ElementType.TYPE})
public @interface CustomQualifier {
String value();
}
Код: Выделить всё
package com.example.dao;
public abstract class AbstractDao {
// Abstract methods and common functionality
}
Код: Выделить всё
package com.example.dao;
import com.example.annotations.CustomQualifier;
import jakarta.enterprise.context.ApplicationScoped;
@CustomQualifier("daoImpl")
@ApplicationScoped
public class DaoImpl extends AbstractDao {
// Implementation of abstract methods
}
Код: Выделить всё
package com.example;
import com.example.annotations.CustomQualifier;
import com.example.dao.AbstractDao;
import jakarta.enterprise.context.SessionScoped;
import jakarta.inject.Inject;
import jakarta.inject.Named;
import java.io.Serializable;
@Named
@SessionScoped
public class MyBean implements Serializable {
@Inject
@CustomQualifier("daoImpl")
private AbstractDao dao;
// Other methods and properties
}
Код: Выделить всё
Код: Выделить всё
org.jboss.weld.servlet
weld-servlet-shaded
5.1.3.Final
org.glassfish
jakarta.faces
4.0.8
- Java 17
- PrimeFaces 14
- Tomcat 10.1.x
- Весна 6
Что я пробовал:
- Гарантировано, что класс DaoImpl снабжен аннотациями @CustomQualifier("daoImpl") и @ApplicationScoped.
- Проверено, что точка внедрения в MyBean правильно помечена с помощью @CustomQualifier("daoImpl").
Что может быть причиной этой неудовлетворенной проблемы с зависимостями и как ее решить? Любая помощь будет принята с благодарностью!
Подробнее здесь: https://stackoverflow.com/questions/791 ... ualifier-i