Spring : Pengantar Praktis Inversion of Control (IoC) – Dasar Injeksi Setter

Oleh : Reza Ervani

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

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

Kontainer IoC Spring juga mendukung injeksi setter, yang merupakan metode dependency injection yang lebih disukai di Spring. Injeksi setter menggunakan metode set* dalam suatu file class untuk mengumpulkan nama-nama properti yang dapat dikonfigurasi di dalam konfig XML Spring.

Dari pandangan konfigurasi, injeksi setter lebih mudah untuk dibaca dikarenakan nama properti yang diset diberikan sebagai suatu atribut ke bean, bersamaan dengan nilai yang diinjeksikan.

Untuk menentukan nama properti, Spring mengikuti Spesifikasi JavaBeans (http://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html).

Dalam banyak kasus, Spring akan menjadikan lowercase huruf pertama setelah “set” di nama metode dan menggunakan bagian selanjutnya di nama metode  sebagai simpulan nama properti. Jadi untuk contoh jika ada suatu metode setMessage() di class kita, nama properti yang akan kita gunakan saat mensetting properti pada bean di konfig XML adalah “message”/ Jika ada metode setFirstName() di class ini, maka nama properti yang akan kita gunakan saat menseting nilai adalah “firstName”.

Dalam kasus dimana huruf setelah “set” semuanya adalah uppercase, Spring akan membiarkan nama properti sebagai uppercase. Jadi jika kita memiliki setXML() di class, nama propertinya adalah XML.

Dikarenakan Spring menggunakan set nama metode untuk menyimpulkan nama properti, penamaan set metode kita sebaiknya mengikuti spek JavaBean, atau setidaknya konsisten dalam batas-batas aplikasi kita. Perhatikan conto berikut untuk memahami dasar injeksi Stter pada class Message kita.

Example 3. SetterMessage


public class SetterMessage {

    private String message = null;

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

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

}

Element properti digunakan untuk mendefinisikan injeksi setter :

SetterMessageTest-context.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.SetterMessage">
        <property name="message" value="Spring is fun." />
    </bean>

</beans>


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.