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 {}
0개의 댓글