Oleh : Reza Ervani
بسم الله الرحمن الرحيم
scope prototype :
Jika scope diset ke prototype, kontainer IoC Spring membuat instance bean yang barus setiap kali permintaan untuk bean tersebut diterima. Jadi, gunakan scope prototype untuk semua bean yang bersifat state-full dan gunakan scope singleton untuk bean yang bersifat stateless
Untuk mendefinisikan scope prototype, kita dapat menset properti di file konfigurasi bean seperti berikut :
<!-- Definisi bean dengan scope prototype --> <bean id="..." class="..." scope="prototype"> <!-- kolaborator dan konfigurasi bean ditempatkan disini --> </bean>
Contoh :
Taruh kata kita menggunakan Eclipse IDE dan mengikuti langkah-langkah berikut untuk membuat aplikasi Spring :
- Buat sebuah project dengan nama ContohSpring dan buat paket com.eclipseprogramming dibawah folder src pada project yang dibuat
- Tambahkan pusataka Spring yang dibutuhkan menggunakan Add External JAR
- Buat class Java HelloWorld dan MainApp dibawah paket com.eclipseprogramming
- Buat file konfigurasi beans Beans.xml dibawah folder src
- Langkah terakhir adalah membuat konten seluruh file java dan konfigurasi Bean dan menjalankan aplikasinya sebagaimana dijelaskan dibawah ini :
Isi dari file HelloWorld.java adalah seperti berikut :
package com.eclipseprogramming; public class HelloWorld { private String message; public void setMessage(String message){ this.message = message; } public void getMessage(){ System.out.println("Your Message : " + message); } }
Following is the content of the MainApp.java file:
package com.eclipseprogramming; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainApp { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); HelloWorld objA = (HelloWorld) context.getBean("helloWorld"); objA.setMessage("I'm object A"); objA.getMessage(); HelloWorld objB = (HelloWorld) context.getBean("helloWorld"); objB.getMessage(); } }
Berikut ini adalah konfigurasi Beans.xml yang dibutuhkan oleh scope prototype :
<?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-3.0.xsd"> <bean id="helloWorld" class="com.eclipseprogramming.HelloWorld" scope="prototype"> </bean> </beans>
Setelah kita selesai membuat sumber dan file konfigurasi bean, mari kita jalankan aplikasi tersebut. Jika tidak ada hambatan maka akan muncul dua pesan berikut ini :
Your Message : I’m object A
Your Message : null
Leave a Reply