我们都知道要访问Spring bean 我们就必须得到一个ApplicationContext 或者 BeanFactory 对象, BeanFacotry是spring中比较原始的Factory,ApplicationContext更强大,可以在服务器启动的时候自动实例化所有的bean,而 BeanFactory只有在调用getBean()的时候才去实例化那个bean。事实上Spring2相关的web应用默认使用的是ApplicationContext对象去实例化bean。


         spring为ApplicationContext提供的3种实现分别 为:ClassPathXmlApplicationContext,FileSystemXmlApplicationContext和 XmlWebApplicationContext,其中XmlWebApplicationContext是专为Web工程定制的。前两种方式适合采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况。

1. FileSystemXmlApplicationContext
 eg1. 加载单个配置文件


ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml");

 eg2.加载单个配置文件

String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
ApplicationContext ctx = new FileSystemXmlApplicationContext(locations ); //


 eg3.

根据具体路径加载文件


ApplicationContext ctx =new FileSystemXmlApplicationContext("D:/project/bean.xml");//



2. ClassPathXmlApplicationContext


 eg1.  加载单个文件


ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");

 eg2. 加载多个文件


String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
ApplicationContext ctx = new ClassPathXmlApplication(locations);



3、XmlWebApplicationContext


   

ServletContext servletContext = request.getSession().getServletContext();    
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);