Spring : Pengantar Praktis Inversion of Control (IoC) – Dasar Pembuatan Bean

Oleh : Reza Ervani

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

Rujukan : http://www.springbyexample.org/examples/intro-to-ioc.html

Sebagaimana yang sudah kita sebutkan, core dari Framework Spring adalah pada kontainer Inversion of Control (IoC). Kontainer IoC mengatur objek-objek java – dari instansiasi hingga destruksi – melalui BeanFactory-nya. Komponen-komponen Java yang diinstansiasi oleh kontainer IoC disebut beans, dan kontainer IoC mengatur suatu scope bean, event-event lifecycle dan semua fitur AOP dimana dia dikonfigurasi dan dikoding.

Kontainer IoC memaksa pola Dependency Injection ke komponen-komponen kita, membiarkannya berpasangan secara bebas dan memperkenankan kita untuk mengkode abstraksi. Kita akan membahas di tutorial ini langkah-langkah dasar utnuk membuat bean, mengkonfigurasinya untuk deployment di Spring dan kemudian mengujinya.

Dasar Pembuatan Bean

Suatu bean Spring di dalam kontainer IoC umumnya dapat merupakan POJO (Plain Old Java Object) apa saja. POJO dalam konteks ini didefinisikan secara sederhana sebagai komponen modular yang dapat digunakan ulang – mereka merupakan entitas lengkap pada diri mereka sendiri dan kontainer IoC akan meresolve dependency apa saja yang mereka butuhkan. Membuat suatu bean Spring sesederhana mengkoding POJO dan menambahkan sebuah elemen konfigurasi bean ke dalam file konfigurasi XML Spring atau menganotasi POJO. Kita akan bahas konfigurasi berbasis XML terlebih dahulu.

Untuk memulai tutorial kita, kita akan gunakan POJO sederhana, sebuah class yang disebut Message yang tidak memiliki suatu konstruktor eksplisit, hanya metode getMessage() dan setMessage(String message). Message memliki suatu konstruktor argumen zero dan sebuah nilai pesan default.

Contoh 1 : DefaultMessage

[code language=”java”]

public class DefaultMessage {

private String message = "Spring is fun.";

/**
* Gets message.
*/
public String getMessage() {
return message;
}

/**
* Sets message.
*/
public void setMessage(String message) {
this.message = message;
}

}

[/code]

Elemen bean dibawah ini mengindikasikan sebuah bean bertipe Message — didefinisikan oleh atribut class – dengan id ‘message’. Instance dari bean ini akan diregistrasi di dalam kontainer dengan id ini.

Suatu tag penutup untuk elemen bean menutup dokumen

DefaultMessageTest-context.xml

[code language=”xml”]

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="message" class="org.springbyexample.di.xml.DefaultMessage" />

</beans>
[/code]

Saat kontainer menginstansiasi bean message, hal itu sama dengan menginisalisasi suatu objek di kode kita dengan “new DefaultMessage()”

About Reza Ervani 426 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.