12.16
Ketika kita mendevelop applikasi berbasis Spring framework, sering kita membutuhkan Spring Application Context, baik itu dari Spring bean ataupun dari non Spring bean (class biasa).
Ada banyak cara untuk mendapatkan Spring Application Context, salah satu cara adalah dengan membuat bean yang mengimplements ApplicationContextAware. Cara ini sangat bermanfaat ketika kita dihadapkan dengan masalah dependensi dari spring bean yang saling sirkular.
Berikut adalah contoh bean yang mengimplement ApplicationContextAware:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package abc; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; public class SpringApplicationContextUtil implements ApplicationContextAware { private static ApplicationContext CONTEXT; public void setApplicationContext(ApplicationContext context) throws BeansException { CONTEXT = context; } public static Object getBean(String beanName) { return (CONTEXT != null) ? CONTEXT.getBean(beanName) : null; } } |
Bean itu kemudian kita daftarkan di file konfigurasi Spring
1 2 3 | <bean id="springApplicationContextUtil" class="abc.SpringApplicationContextUtil"> </bean> |
Kemudian file utils itu dapat digunakan klas apapun (dari spring bean ataupun bukan)
1 | Object obj= SpringApplicationContextUtil.getBean("myBean"); |
Referensi :
No Comment.
Add Your Comment