-1
저는 Dagger2를 처음 사용합니다. 나는 다음과 같은 구조가 있다고 가정하자 : Dagger2 & nested child injections
public class A extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
DependencyInjector.applicationComponent.inject(this);
}
...
public void foo() {
B b = new B();
**DependencyInjector.applicationComponent.inject(b);**
}
}
public class B {
@Inject
C c;
}
는 내 질문은, 내가 명시 적으로 "B"를 주입해야하는 모든하지만 "A"가 이미
를 주입됩니다! 또는 "A"를 주사하는 것으로 충분합니까?
들으 : 당신이 B를 주입 할 필요가 없습니다
은 그러나, 주입, 단검 만든Provider
에 연기에 의해, 당신은 A의 주입을 활용할 수 있습니다. 그리고 더 좋은 방법은 무엇일까요? – davidOhara대구 (Dagger)가 주사 가능한 객체 생성을 담당하게하는 것이 내 코드 샘플에있는 방식이 "더 나은 방법"입니다. Android 나 다른 프레임 워크가 여러분을 위해 생성 한 객체 (예 : 여기의 Activity 서브 클래스)에'inject' 메소드를 사용하지 마세요. 객체 그래프에 참여할 필요가없는 모델 객체와 같은 단순한 객체에 대해서는 여전히'new'를 사용할 수 있습니다; [주사제 "대"newables "에 대한 논의] (http://misko.hevery.com/2008/09/30/to-new-or-not-to-new/)를 참조하십시오. –
"c"도 삽입됩니다! – davidOhara