美文网首页我爱编程
Spring 加载xml配置文件的方式 ApplicationC

Spring 加载xml配置文件的方式 ApplicationC

作者: SevenCoder | 来源:发表于2018-01-27 23:03 被阅读52次

    大家都知道Java读普通文件是通过Basic I/O 中的InputStream、OutStream、Reader、Writer 等实现的。在spring 框架中,它是怎样识别xml这个配置文件的呢?

    这就要靠IoC容器的两个接口BeanFactory ApplicationContext

    BeanFactory (接口)

    |--------XmlBeanFactory(实现类)

    ApplicationContext (接口)

    |-------- ClassPathXmlApplicationContext(实现类)

    |---------FileSystemXmlApplicationContext(实现类)

    |---------XmlWebApplicationContext(实现类)

    BeanFactory是一个接口,Spring使用它来实例化、配置和管理对象,它里面有一个getBean()方法,只提供了spring最基础的特征,一般使用在低内存的情况下,如Applet。一般的spring项目用它的派生类ApplicationContext,这个类会自动解析我们配置的xml文件,然后根据配置的bean来new对象,将new好的对象放进一个Map中,键是bean的id,值就是new的对象。

    这种方式xml文件必须在项目的build path里面,一般用classpath:作为前缀,也可以省略

    1)/src目录下

    ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:appcontext.xml"); 

    ApplicationContext factory=new ClassPathXmlApplicationContext("appcontext.xml"); 

    2)/ src/conf 目录下的 

    ApplicationContext factory=new ClassPathXmlApplicationContext("conf/appcontext.xml");

    3)同时加载多个xml文件

    ApplicationContext factory=new ClassPathXmlApplicationContext(new String[] {"bean1.xml","bean2.xml"});

    2.文件系统的路径

    xml文件的绝对路径,一般用file:作为前缀,也可以省略

    ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml"); 

    ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");

    3. XmlWebApplicationContext是专为Web工程定制的

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

    ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext ); 

    相关文章

      网友评论

        本文标题:Spring 加载xml配置文件的方式 ApplicationC

        本文链接:https://www.haomeiwen.com/subject/wkvoaxtx.html