1. 程式人生 > >Java普通類中獲得Spring管理的類

Java普通類中獲得Spring管理的類

由於有時會寫一些工具類或者單例類,這些類中可能使用到Spring管理的一些類,比如dao,service等,這時就要獲得這些spring管理的類,我們寫測試類中main函式中一般是用:

ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); BeanFactory bf = (BeanFactory)ac; StaffService staffService =  (StaffService)bf.getBean(staffService); 但web工程中顯然不能這樣,因為我們重啟工程時,spring已經載入過一遍類了,所以這種方法只適合手工測試時用,web工程可以選擇下面這個:

WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
IEMailSendService emailSendService = (IEMailSendService) wac.getBean("emailSendService");

但這種方法只適合web工程。

參考:http://blog.itpub.net/143526/viewspace-1058439/