Oleh : Reza Ervani
بسم الله الرحمن الرحيم
Kontainer Spring berada di core framework Spring. Kontainer akan membuat objek, menghubungkannya bersama, mengkonfigurasinya dan memanage lifecycle mereka lengkap dari pembuatan hingga penghancuran. Kontainer Spring menggunakan dependency injection (DI) untuk mengatur komponen-komponen yang menyusun aplikasi. Objek-objek ini disebut Spring Beans yang akan kita bicarakan dalam artikel yang berbeda.
Kontainer menerima instruksi terkait objek apa untuk diinstansiasi, dikonfigurasi dan diassemble dengan membaca metadata konfigurasi yang disediakan. Metadata konfigurasi dapat direpresentasikan baik oleh XML, anotasi Java atau kode Java. Diagram berikut ini menunjukkan high-level view terkait bagaimana Spring bekerja. Kontainer IoC Spring membuat penggunaan class-class POJO Java dan metada konfigurasi untuk memproduksi sebuah sistem atau aplikasi yang terkonfigurasi penuh dan dapat dieksekusi.
Spring menyediakan dua tipe kontainer yang berbeda sebagai berikut :
Nomor | Kontainer dan Deskripsi |
---|---|
1 | Spring BeanFactory Container Ini adalah kontainer yang paling sederhana yang menyediakan dukungan dasar untuk DI dan didefinisikan oleh interface org.springframework.beans.factory.BeanFactory . BeanFactory dan interface-interface terkait, seperti BeanFactoryAware, InitializingBean, DisposableBean, masih ada di Spring untuk tujuan kompatibilitas backward dengan sejumlah besar framework pihak ketiga yang terintegrasi dengan Spring |
2 | Spring ApplicationContext Container
Kontainer ini menambahkan fungsionalitas yang bersifat enteprise-specific seperti kemampuan untuk memecahkan pesan tekstual dari suatu file properti dan kemampuan untuk mempublikasikan event-event aplikasi ke event listener yang menggunakannya. Kontainer ini didefinisikan oleh interface org.springframework.context.ApplicationContext |
Kontainer ApplicationContext menyertakan seluruh fungsionalitas dari kontainer BeanFactory , sehingga secara umum dia lebih direkomendasikan daripada BeanFactory. BeanFactory masih dapat digunakan untuk aplikasi-aplikasi ringan seperti untuk perangkat mobile atau yang berbasis applet dimana volume dan kecepatan data berjumlah signifikan.
Leave a Reply