Google Guice-Just-in-time 바인딩
바인딩은 Binding Module에 정의되어 있으므로 Guice는 종속성을 주입해야 할 때마다 사용합니다. 바인딩이없는 경우 Just-In-Time 바인딩 생성을 시도 할 수 있습니다. 바인딩 모듈에있는 바인딩이 호출됩니다.Explicit bindings 우선 순위가 더 높은 반면 Just-In-Time 바인딩은 Implicit bindings. 두 유형의 바인딩이 모두 존재하는 경우 명시 적 바인딩이 매핑에 고려됩니다.
세 가지 유형의 Just-in-time 바인딩에 대한 예제는 다음과 같습니다.
Sr. 아니. | 바인딩 유형 및 설명 |
---|---|
1 | 주사 가능한 생성자 비공개가 아닌 인수가없는 생성자는 Just-In-Time 바인딩에 적합합니다. 또 다른 방법은 @Inject 주석으로 생성자에 주석을 추가하는 것입니다. |
2 | @ImplementatedBy 주석 @ImplementatedBy 어노테이션은 구현 클래스에 대한 guice를 알려줍니다. 이 경우 Binding Module에 바인딩이 필요하지 않습니다. |
삼 | @ProvidedBy 주석 @ProvidedBy 어노테이션은 구현 클래스의 제공자에 대해 안내합니다. 이 경우 Binding Module에 바인딩이 필요하지 않습니다. |