내가용접 @Produces 의존성이 null 주입 지점
public class GenericVehicleDao<T extends Vehicle> {
private Class<T> clazz;
@Inject
private DaoHelper daoHelper;
public GenericDao(Class<T> clazz)
{
this.clazz = clazz;
}
}
(난 그냥 간단한 예를 제공하기 위해 노력하고있어 차량과는 실제로)이 같이 보입니다 아닌 기본 생성자와 함께 일반 DAO를 가지고있다
은 난 후 서비스 계층 예에 해당 DAO를 주입 할 수
public class AppProducer {
@Produces
public GenericDao<Car> createCar() {
return new GenericDao(Car.class);
}
@Produces
public GenericDao<Truck> createTruck() {
return new GenericDao(Truck.class);
}
}
예
위해 그래서 생성자를 사용하여 일부 @Produces 방법과 다른 클래스가있다. DAO를가 건설 된 후 자동차 DAO 그러나 나는 DAO의이DaoHelper
주입 것을 찾는거야, 서비스 계층에 미세 주입
@Stateless
public class VehicleService {
@Inject
private GenericVehicleDao<Car> carDao;
}
은 null입니다. DaoHelper를 서비스 레이어에 삽입하면 괜찮습니다. DAO 자체에서 주입하는 것이 좋습니다. 필드 주입에서 세터 주입으로 전환을 시도했지만 동일한 문제가 있습니다.
확인 -이 기능은 사용자가 직접 개체를 처리 할 때 자동으로 입력 할 수있는 필드가 아닙니다. 'InjectionTarget '을 만드는 등의 목표를 달성 할 수있는 방법이 있지만 가장 쉬운 방법은 바로 당신입니다. 또한 실제로 문서를 읽으려면 +1 :) – Siliarus