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

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
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

01
02
03
04
05
06
07
08
09
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
       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 431 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.