https://dagger.dev/hilt/scope-aliases


7.3 Scope aliases

스코프 별칭은 왜 필요한가?

현재 많은 코드에서 사용중인 스코프 어노테이션 중 Hilt가 제공하는 스코프 어노테이션으로 변경하고 싶다면, 스코프 별칭(Scope alias)는 마이그레이션 할 때 유용하다. 코드베이스에 따라 스코프 어노테이션을 변경하는 것은 많은 작업을 필요로 한다. 스코프 별칭을 추가하는 것으로 이러한 전환 작업을 점진적으로 할 수 있다.

스코프 별칭을 사용하는 것은 Dagger와 Hilt에게 이러한 스코프 어노테이션을 같은 스코프 어노테이션으로 취급해달라고 미리 말하는 것이다.

@AliasOf 사용하는 방법

@AliasOf 어노테이션을 스코프 어노테이션과 함께 사용하면 Hilt에게 해당 스코프 어노테이션은 @AliasOf 어노테이션의 값과 동일하게 최급해 달라고 요청하게 된다. 어노테이션 값은 반드시 @DefineComponent에서 사용되는 어노테이션이 되어야 Hilt가 무엇을 할지 알게 된다.

다음 나오는 예제에서는 이전에 사용하던 @MyActivityScoped을 Hilt의 @ActivityScoped와 동등하게 만드는 방법을 보여준다. 지금부터는@MyActivityScoped를 Hilt용 어노테이션으로 점진적으로 교체해 나가기가 수월해진다.

@Scope
@AliasOf(dagger.hilt.android.scopes.ActivityScoped::class)
annotation class MyActivityScoped {}
카테고리: Dagger2

0개의 댓글

답글 남기기

Avatar placeholder

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.