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程序。

 ApplicationContext context=new classPathXmlApplicationContext("classpath:appcontext.xml");
BeanFactory factory = (BeanFactory)context; // src目录下的
ApplicationContext context=new ClassPathXmlApplicationContext("appcontext.xml");
BeanFactory factory = (BeanFactory)context; // src/conf 目录下的
ApplicationContext context=new ClassPathXmlApplicationContext("conf/appcontext.xml");
BeanFactory factory = (BeanFactory)context;
//绝对路径
ApplicationContext context=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml");
BeanFactory factory = (BeanFactory)context;

三 : 文件系统的加载方式

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

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

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

最新文章

  1. GPG终极指南(加密/签名)
  2. RDLC 子报表
  3. Python查找当前路径和子路径下指定后缀名的文件
  4. jsp动作标签概述
  5. springJDBC一对多关系,以及Java递归,jsp递归的实现
  6. 如何使用git创建远程仓库(供局域网多人使用)
  7. 消除热块(hot block)
  8. 重新开始学习javase_对象的初始化
  9. 201521123062《Java程序设计》第8周学习总结
  10. 一个靠谱的phpredisadmin文件
  11. JAVA获取客户端请求的当前网络ip地址(附:Nginx反向代理后获取客户端请求的真实IP)
  12. Ajax之Jquery封装使用举例2(Json和JsonArray处理)
  13. 支持ajax跨域调用的WCF搭建示例
  14. 什么是url?
  15. JavaScript中数组中的方法:push()、pop()、shift()、unshift()、slice()、splice()、reverse()、join()、split()、concat()、indexOf()、forEach()、map()、
  16. BZOJ 1012--[JSOI2008]最大数maxnumber(二分&单调栈)
  17. 把多个js函数绑定到onload时间处理函数上
  18. Java J2EE读取配置文件
  19. java 或者 js 获取项目访问路径(域名)
  20. 基于jquery的邮箱输入联想插件开发

热门文章

  1. Go -- 一致性哈希算法
  2. HTML--比较实用的小例子
  3. 如何正确地在React中处理事件
  4. android Graphics类:概述及基本几何图形绘制
  5. 理解CSS中的BFC(块级可视化上下文)[译]
  6. 初始化master节点时,日志内容分析
  7. Studio 3T for MongoDB连接51.212复制集
  8. inheritance super overrides printMethod in Superclass override重写父方法
  9. 集群环境搭建-SSH免密码登陆(二)
  10. 正则表达式pattern的匹配格式