Sobes.tech
Junior — Middle

Hogyan lehet saját komponenst megvalósítani a Hilt-ben a függőségek injektálására?

sobes.tech MI

Válasz az MI-től

A saját komponensed létrehozásához Hilt-ben:

  1. Határozz meg egy @DefineComponent-tel annotált komponens interfészt. Ebben jelölöd meg azokat az függőségeket, amelyek elérhetőek lesznek a komponensen belül.

  2. Hozz létre egy annotációt a komponens életciklusához való kötéshez, a @DefineComponent.Builder és @Component.Builder használatával.

  3. Kösd össze a létrehozott komponenst egy meglévő Hilt komponenssel a @DefineComponent(parent = ...) annotáció segítségével, ahol a szülőkomponenst megadod.

  4. Hozz létre egy annotációt a függőségek injektálásához ebbe a komponensbe a @EntryPoint vagy @InstallIn(YourCustomComponent.class) használatával.

Példa:

@DefineComponent(parent = SingletonComponent::class)
interface CustomComponent

@DefineComponent.Builder
interface CustomComponentBuilder {
    fun build(): CustomComponent
}

@InstallIn(CustomComponent::class)
@Module
class CustomModule {
    @Provides
    fun provideSomething(): Something = Something()
}

Így saját, testreszabott komponenseket hozhatsz létre a kívánt hatókörrel, és rugalmasabban kezelheted a függőségeket.