容器加载Bean的常见两个类ApplicationContext和BeanFactory,

一、首先,看看spring中加载配置在xml中的Bean对象到容器

spring 中加载xml配置文件的方式,好像有4种, xml是最常见的spring 应用系统配置源。Spring中的几种容器都支持使用xml装配bean,包括:

 XmlBeanFactory , ClassPathXmlApplicationContext , FileSystemXmlApplicationContext , XmlWebApplicationContext 

1.1、XmlBeanFactory 引用资源

Resource resource = new ClassPathResource("appcontext.xml"); BeanFactory factory = new XmlBeanFactory(resource); 

1.2、ClassPathXmlApplicationContext  编译路径

ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","dao.xml"});ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:/*.xml");ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:appcontext.xml"); ApplicationContext factory=new ClassPathXmlApplicationContext("appcontext.xml");   // src目录下的 ApplicationContext factory=new ClassPathXmlApplicationContext("conf/appcontext.xml");   // src/conf 目录下的 ApplicationContext factory=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml"); RegisterDAO registerDAO = (RegisterDAO)ac.getBean("RegisterDAO");

1.3、用文件系统的路径

 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"); 

1.4、XmlWebApplicationContext   是专为Web工程定制的。

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

classpath:前缀是不需要的,默认就是指项目的classpath路径下面;如果要使用绝对路径,需要加上file:前缀表示这是绝对路径;

转载于:https://www.cnblogs.com/duanxz/p/3628730.html

spring容器扩展功能之一:spring加载ApplicationContext.xml的四种方式相关推荐

  1. spring加载ApplicationContext.xml的四种方式

    spring加载ApplicationContext.xml的四种方式 spring 中加载xml配置文件的方式,好像有4种, xml是最常见的spring 应用系统配置源.Spring中的几种容器都 ...

  2. java配置文件实现方式_java相关:详解Spring加载Properties配置文件的四种方式

    java相关:详解Spring加载Properties配置文件的四种方式 发布于 2020-4-29| 复制链接 摘记: 一.通过 context:property-placeholder 标签实现配 ...

  3. Spring加载properties文件的两种方式

    2019独角兽企业重金招聘Python工程师标准>>> 在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取pro ...

  4. web.xml的contextConfigLocation作用及自动加载applicationContext.xml

    web.xml的contextConfigLocation作用及自动加载applicationContext.xml 转自:http://blog.csdn.net/sapphire_aling/ar ...

  5. c语言加载本地图片,Unity加载本地图片的2种方式

    1. 使用 WWW 加载,详细查看 unity3d 官方文档. 2. 使用 System.IO 加载,lua 代码如下: local File = luanet.import_type("S ...

  6. ios网络学习------4 UIWebView的加载本地数据的三种方式

    ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器, ...

  7. Android加载GIF图片的两种方式

    飞哥语录:得到一件东西最好的方式是让自己配得上它. 方式一:使用第三开源框架直接在布局文件中加载gif 1.在工程的build.gradle中添加如下 buildscript {repositorie ...

  8. Python加载csv文件的两种方式

    本文主要讲解下Python加载csv文件的两种方式,如果知道如何处理的就不必往下看了! 下面来简单介绍下. 实例中的数据集是kaggle的Digit Recognizer的train.csv文件,数据 ...

  9. spring 如何加载applicationContext.xml

    在web.xml中配置spring NO1.推荐使用 <listener> <listener-class> org.springframework.web.context.C ...

最新文章

  1. 用移位寄存器实现边沿检测(功能仿真及ISE综合)
  2. shell脚本之函数篇
  3. 学习编程的方法与建议
  4. js操作select标签
  5. 嵌入式工作笔记0003---认识LCD显示器
  6. HttpClient 入门与正确使用姿势
  7. 自己动手实现分布式任务调度框架
  8. 蓝桥杯 BASIC-14 基础练习 时间转换
  9. Scrapy实战之阳光热线问政平台
  10. Oracle number类型详解
  11. APP在推广之渠道为王(二 )
  12. 【历史上的今天】2 月 23 日:英格玛密码机申请专利;戴尔电脑创始人出生;Mellanox 收购 EZchip
  13. 数据标注下半场:PLG模式下的增长飞轮丨曼孚科技
  14. java 将doc格式的文档转化为pdf格式(实现Word文件预览)
  15. mysql隔离级别 isolation_MySQL事务和隔离级别
  16. 黑科技解密!实现socket进程间迁移!
  17. win10/win11安装时提示:“我们无法创建新的分区,也找不到现有分区”的解决方法
  18. funcode 音乐播放、提示及提示消失、时间显示等(c++版)
  19. Kafka教程(一)Kafka入门教程
  20. 阿里云云服务器ECS

热门文章

  1. 抖音右上角一个小黄点是什么_抖音官方入驻视频号,释放了一个什么样的信号?...
  2. 《位运算技巧以及Leetcode的一些位运算题目》
  3. 【C++grammar】string类和array类
  4. 面向对象 (接口 Interface)
  5. uva 11490 ——Just Another Problem
  6. Redis源码分析(零)学习路径笔记
  7. 用栈实现后缀表达式求解问题
  8. leetcode869. 重新排序得到 2 的幂
  9. 数据库原理及应用【六】数据库设计
  10. Linux网络编程“惊群”问题总结