关于ApplicationContext的初始化

一、提倡的初始化方法:
《1》在独立应用程序中,获取ApplicationContext:
          AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
         context.close();//释放资源
《2》在web环境中,获取ApplicationContext:

      A)ServletContext servletContext = request.getSession().getServletContext();               

         ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext); 

      B)String contextpath = "org.springframework.web.context.WebApplicationContext.ROOT";

         WebApplicationContext context = request.getSession().getServletContext().getAttribute(contextpath);   

二、不提倡的方法:(这种写法不仅仅耗内存,占资源,而且如果数据库连接太多,很容易造成系统运行的缓慢甚至stop!)

        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

    在非Web应用中,手工加载Spring IoC容器,不能用ApplicationContext,要用AbstractApplicationContext。用完以后要记得调用ctx.close()关闭容器。如果不记得关闭容器,最典型的问题就是数据库连接不能释放

原文地址:https://www.cnblogs.com/rinack/p/6049799.html