編寫一個工具類
實現spring 的ApplicationContextAware接口
代碼如下:
1 package com.xnh.web.utils; 2 3 import org.springframework.beans.BeansException; 4 import org.springframework.context.ApplicationContext; 5 import org.springframework.context.ApplicationContextAware; 6 /** 7 * 8 * @author Kylin 9 * 10 */ 11 public class ApplicationUtil implements ApplicationContextAware{ 12 private static ApplicationContext applicationContext; 13 @Override 14 public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { 15 ApplicationUtil.applicationContext = applicationContext; 16 } 17 public static Object getBean(String name){ 18 return applicationContext.getBean(name); 19 } 20 }
然后需要在application中把把org.springframework.context.ApplicationContext作為屬性注入給類
其實只需要這樣寫就可以如下:
1 <bean id="app" class="com.xnh.web.utils.ApplicationUtil"> 2 </bean>
這樣子就是被注入進去了
運行的時候只需要加載你的applicationContext.xml
*普通java類main方法這樣調用
new ClassPathXmlApplicationContext("applicationContext.xml");
ApplicationUtil.getBean("rssService");
*web工程直接調用
ApplicationUtil.getBean("rssService");
就大功告成了,如果按我的方法不成功,請看看是不是沒有加載applicationContext.xml,或者你想getbean的方法沒有在xml里面配置
據我測試沒有在xml配置而僅僅使用注解貌似是不成功的
有問題留言哦