Oleh : Reza Ervani
بسم الله الرحمن الرحيم
Referensi : http://docs.spring.io/spring/docs/1.2.9/reference/beans.html
BeanFactory
BeanFactory adalah kontainer sebenarnya yang menginstansiasi, mengkonfigurasi dan memanage sejumlah beans. Beans ini umumnya berkolaborasi satu sama lain, dan karenanya memiliki ketergantungan/dependency antar mereka. Dependency ini dicerminkan didalam data konfigurasi yang digunakan oleh BeanFactory (meskipun beberapa dependency mungkin tidak tampak sebagai data konfigurasi, tetapi menjadi sebuah fungsi dari interaksi programatik antara beans saat runtime).
Suatu BeanFactory direpresentasikan oleh interface org.springframework.beans.factory.BeanFactory, dimana ada banyak implementasi. Implementasi BeanFacetory sederhana yang paling sering digunakan adalah org.springframework.beans.factory.xml.XmlBeanFactory. (Ini sebaiknya dihitung dengan pengingat bahwa ApplicationContexts adalah sebuah subclass dari BeanFactory, dan kebanyakan pengguna pada akhirnya menggunakan varian XML ApplicationContext)
Meskipun untuk kebanyakan skenario, hampir semua kode pengguna dimanage yang dimanage oleh BeanFactory tidak harus memberikan perhatian pada BeanFactory, BeanFactory juga tidak perlu diinstasiasi sedemikian rupa. Hal tersebut dapat terjadi secara eksplisit pada kode yang dibuat oleh pengguna seperti :
Resource res = new FileSystemResource("beans.xml"); XmlBeanFactory factory = new XmlBeanFactory(res);
atau
ClassPathResource res = new ClassPathResource("beans.xml"); XmlBeanFactory factory = new XmlBeanFactory(res);
atau
ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext( new String[] {"applicationContext.xml", "applicationContext-part2.xml"}); // tentu, sebuah ApplicationContext hanyalah sebuah BeanFactory BeanFactory factory = (BeanFactory) appContext;
Leave a Reply