내 코드가 Google guice에있는 동안 Spring을 기반으로하는 외부 jar를 사용하는 곳이 있습니다.Guice 주석을 추가하지 않고 Guice DI 바인딩
모듈을 작성하여이 종속성 클래스의 종속성을 주입하려고합니다.
외부 클래스 : 내 모듈에 @provides 방법에 세터와 구성원을 설정할 수 있어요
public class PTRS {
@Inject
private Event countEvent;
@Inject
private Event durationEvent;
private GeoServiceClient gClient;
public void setGeoServiceClient(GeoServiceClient client){this.gClient=client}
}
하지만, @Inject 회원은 널 (null)이 있고, 나는 countEvent 및 durationEvent에 대한 NullPointerException이 무엇입니까.
내 코드는 다음 공급자 클래스를 사용하여 PTRS 클래스와 바인딩 할 개체를 만듭니다.
@Provides
PTRS new PTRS(Client client){
PTRS ptrs = new PTRS();
ptrs.setGeoServiceClient(client);
return ptrs;
}
외부 클래스를 변경하지 않고 이러한 종속성을 모두 주입 할 수 있습니까?
Jeff에게 감사드립니다. 공장! :) –