Java普通類中獲得Spring管理的類
阿新 • • 發佈:2019-01-25
由於有時會寫一些工具類或者單例類,這些類中可能使用到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/