读书人

那边都有spring

发布时间: 2012-10-25 10:58:58 作者: rapoo

那里都有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的问题咯。

?

读书人网 >软件架构设计

热点推荐