那里都有spring
spring是个不错的东东。如果你的项目全部都是采用这个框架的话,那么恭喜你,spring会在容器里帮你管理你所有的对象。如果你的项目是其他框架+spring混合使用,那么spring外部如何去获取spring相信会是个问题。
1。直接获取直接构造ApplicationContext :
ApplicationContext ctx = new ClasspathXmlApplicationContext("ApplicationContext.xml"); ??
?
在Web环境里使用ServletContextListener获取ServletContext然后创建一个ApplicationContext的单例就可以在任何地方都用到spring了。
监听器:
public class SpringServletContextListener implements ServletContextListener { public void contextDestroyed(ServletContextEvent arg0) {} public void contextInitialized(ServletContextEvent arg0) { SpringContext.initialize(arg0.getServletContext()); } } ?Spring容器管理:
public final class SpringContext { private static BeanFactory springBeanFactory = null; public synchronized static boolean initialize(ServletContext servletContext) { ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext (servletContext); springBeanFactory = (BeanFactory)context; return true; } public static Object getBean(String beanName) throws Exception { Object object = null; if (springBeanFactory == null) { throw new Exception("没有初始化BeanFactory!"); } else { object = springBeanFactory.getBean(beanName); } return object; } }??代码测试过可用,但是还没有用LR压一下看看效率。?
?根据上面的代码可以基本解决所有获取spring的问题咯。
?