JaMU 0607 Review

Hari sabtu kemarin saya akhirnya sempatkan diri untuk datang ke JaMU walau badan agak meriang, pilek dan batuk.

Saya datang sekitar jam 10.05 dan tumben sekali sudah banyak orang datang dan pembicara kita kali ini yaitu Arif Rachman datang ontime. Tetapi acara masih blm bisa dimulai karena panitia JUG, Thomas belum datang. Jadi kita beramah tamah dulu update hal2 baru di Java dengan Frans Thamura sembari mencicip hidangan pembuka. Kira2 jam 10.30 Thomas uda datang, dan setelah perkenalan singkat dari anggota yang hadir, acara segera dimulai.

Seperti posting saya sebelumnya, JaMU kali ini membahas tentang Guice.
Ok kita langsung aja, Guice ini merupakan dependency injection framework. Guice ini lebih simpel tanpa konfigurasi yang rumit seperti spring karena menggunakan fitur Java annotation (berarti minimal harus Java 5). Untuk sampel coding bisa dilihat waktu mendownload Guice, dimana teknik meng-inject class sangat sederhana dilakukan. Namun Guice juga mengizinkan kita mengatur konfigurasi injection kita kedalam external file seperti xml, properties dll.

Apa sih dependency injection itu ?
Dependency injection merupakan class yang diinject (di instansiate) pada saat run time. Contoh simple :
class A
{
    private B b = new B();
}
Nah bagaimana kalau object B tidak mau memakain new B() ? Semisal anda ingin memakai new B1()
dependency injection lah solusinya. Class yang dibutuhkan dapat diinject pada saat runtime.

Kapan dependency injection kita perlukan ?
Saya sendiri saat ini tidak memerlukan dependency injection, akan tetapi jika aplikasi yang kita mau buat termasuk skala besar sehingga memerlukan berbagai envinronment seperti testing, development dan production maka anda memerlukan framework ini.

Nah yang penting diingat adalah Guice tidak dapat berdiri sendiri, Guice hanyalah dependency framework. Jadi ini hanyalah library tambahan untuk aplikasi anda. Anda bisa mengintegrasikan Guice ini dengan framework lainnya.

Sekian review dari saya silahkan coba bermain2 dengan Guice di official websitenya
http://code.google.com/p/google-guice/