Sobes.tech
Junior — Middle

Kura anotācija Dagger tiek izmantota ārējās atkarības injekcijai komponentā?

sobes.tech AI

Atbilde no AI

Lai komponentā Dagger ievadītu ārēju atkarību, tiek izmantota anotācija @Component.Builder vai @Component.Factory, un, lai nodotu pašu atkarību, — anotācija @BindsInstance.

Piemēram, ja nepieciešams nodot objektu, kas ir izveidots ārpus Dagger, to var izmantot @BindsInstance komponenta būvētājā:

@Component
interface MyComponent {
    void inject(MyClass target);

    @Component.Builder
    interface Builder {
        @BindsInstance
        Builder externalDependency(ExternalDependency dep);
        MyComponent build();
    }
}

Tādējādi, @BindsInstance ļauj ievadīt ārēju atkarību komponenta atkarību grafā.