Spring : Dependency Injection Sang Penolong

Oleh : Reza Ervani

بسم الله الرحمن الرحيم

Dependency Injection mengambil level pemisahan yang dimulai dengan Prinsip Dependency Inversion satu langkah lebih jauh. Dependency Injection memiliki konsep assembler – atau yang di Java umumnya dirujuk sebagai suatu Factory – yang menginstansiasi objek-objek yang dibutuhkan oleh suatu aplikasi dan “menginjek” mereka ke dalam objek-objek yang membutuhkannya.

Pada kasus framework dependency injection-informed seperti Spring, komponen-komponen dikoding ke interface, seperti pada contoh DIP yang disertakan sebelumnya. Tetapi sekarang kontainer IoC memanage instansiasi, manajemen dan casting class dari objek-objek yang diimplementasikan sehingga aplikasi tidak harus melakukan hal tersebut. Hal ini menghilangkan ketergantungan apapun pada class-class level rendah yang diimplementasikan.

Ada tiga tipe Dependency Injection yang diguanakn oleh penyedia kontainer IoC

Table 1. Dependency Injection Types

Tipe DI Deskripsi
Constructor Injection Argumen Konstruktor diinjek saat instansiasi instance
Setter Injection Ini adadalah metode yang paling sering digunakan. Dependency diset di objek melalui metode setter yang didefinisikan di dalam file konfigurasi Spring.
Interface Injection Ini tidak diimplementasikan oleh Spring saat ini, tetapi oleh Avalon. Dia merupakan tipe DI yang melibatkan item-item mapping untuk menyuntikkan ke interface tertentu.

Spring menggunakan konsep BeanFactory sebagai assemblernya, dan adalah BeanFactory yang mengatur JavaBeans yang telah kita konfigurasi untuk berjalan dengannya. Pada bagian berikutnya kita akan membahasa tentang kontainer Spring IoC dan bagaimana membuatnyanya menggunakan pola dependency injection untuk membuat kode kita bebas RFI dan semakin baik.

About Reza Ervani
Adalah pendiri programming.rezaervani.com -

About Reza Ervani 381 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.