Junior — Middle
Bağımlılık enjeksiyonu için Dagger kütüphanesinde anotasyonlar nasıl kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Dagger kütüphanesinde, Android'de bağımlılık enjeksiyonu için, nesnelerin nasıl oluşturulup sağlanacağını tanımlayan anotasyonlar kullanılır.
Ana anotasyonlar:
@Inject— Dagger'ın bağımlılığı enjekte etmesi gereken yapıcı, alan veya yöntemi işaretler.@Module— Belirli bağımlılıkların nasıl oluşturulacağını anlatan@Providesanotasyonlu yöntemler içeren sınıf.@Provides— Modül içindeki, bağımlılık nesnesi döndüren yöntemi anotlar.@Component— Modülleri ve enjeksiyon noktalarını bağlayan, bağımlılık grafını oluşturmak için kod üreten arayüz.
Kullanım örneği:
@Module
class NetworkModule {
@Provides
OkHttpClient provideOkHttpClient() {
return new OkHttpClient.Builder().build();
}
}
@Component(modules = {NetworkModule.class})
interface AppComponent {
void inject(MainActivity activity);
}
public class MainActivity extends AppCompatActivity {
@Inject
OkHttpClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DaggerAppComponent.create().inject(this);
// Artık client Dagger tarafından başlatıldı
}
}
Bu şekilde, anotasyonlar Dagger'ın bağımlılıkları otomatik olarak oluşturup iletmesini sağlar, böylece yönetimi kolaylaşır.