• Spring之配置文件加载方式


    spring在org.springframework.core.io包中提供了多种配置文件加载方式。无论是XML、URL还是文件,都有很好的支持。比如基于URL的UrlResource、基于输入流的InputStreamResource、基于文件系统的FileSystemResource、基于应用classpath的ClassPathResource。开发者可以从不同位置、以不同方式加载Spring配置文件。

    常用的集中配置文件加载方式:

    一:XmlBeanFactory 加载方式。此方式常用于应用程序,如swt、applet等。

    //基于资源文件加载:  
    Resource resource = new ClassPathResource("appcontext.xml");  
    BeanFactory factory = new XmlBeanFactory(resource);  
      
    //基于流文件加载:  
    InputStream in = new FileInputStream("appcontext.xml");  
    BeanFactory factory = new XmlBeanFactory(in);  

     二:ApplicationContext加载方式。此方式常用于J2EE程序。

     1 ApplicationContext context=new classPathXmlApplicationContext("classpath:appcontext.xml");  
     2  BeanFactory factory = (BeanFactory)context;  
     3   
     4  // src目录下的  
     5  ApplicationContext context=new ClassPathXmlApplicationContext("appcontext.xml");      
     6  BeanFactory factory = (BeanFactory)context;  
     7   
     8   // src/conf 目录下的  
     9  ApplicationContext context=new ClassPathXmlApplicationContext("conf/appcontext.xml");     
    10  BeanFactory factory = (BeanFactory)context;  
    11  //绝对路径  
    12  ApplicationContext context=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml");  
    13  BeanFactory factory = (BeanFactory)context;  

    三 : 文件系统的加载方式

    1 ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml");  
    2 //使用了  classpath:  前缀,作为标志,  这样,FileSystemXmlApplicationContext 也能够读入classpath下的相对路径  
    3 ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");  
    4 ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml");  
    5 ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");  

    四: XmlWebApplicationContext   是专为Web工程定制的。

    1 ServletContext servletContext = request.getSession().getServletContext();  
    2 ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext ); 
  • 相关阅读:
    vue组件上绑定原生事件
    vue中sync的使用原来这么简单
    vscode快捷键
    justify-content: space-between能够对齐的解决办法
    day_01:__all__、__init__、推导式
    单元测试框架pytest
    ELK从入门到实战
    HTB::Return
    Codeforces Round #752 (Div. 2) ABCD
    动态神经网络综述阅读笔记
  • 原文地址:https://www.cnblogs.com/acmwangpeng/p/5981463.html
Copyright © 2020-2023  润新知