Spring中加载ApplicationContext.xml文件的方式

原文:http://blog.csdn.net/snowjlz/article/details/8158560

1、利用ClassPathXmlApplicationContext,可以从classpath中读取XML文件
(1)
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

UserDao userDao = (UserDao)context.getBean("userDao");
(2)
   
ClassPathXmlApplicationContext resource = new ClassPathXmlApplicationContext(new

String[]{"applicationContext-ibatis-      oracle.xml","applicationContext.xml","applicationContext-data-oracle.xml"});

BeanFactory factory = resource; UserDao userDao = (UserDao)
factory.getBean("userDao");
2. 利用ClassPathResource,可以从classpath中读取XML文件
    Resource cr = new ClassPathResource("applicationContext.xml");
BeanFactory bf=new XmlBeanFactory(cr);

UserDao userDao =
(UserDao)bf.getBean("userDao");
3.利用XmlWebApplicationContext读取
    XmlWebApplicationContext ctx = new XmlWebApplicationContext();

ctx.setConfigLocations(new String[] {"/WEB-INF/
applicationContext.xml");

ctx.setServletContext(pageContext.getServletContext());

ctx.refresh();

UserDao userDao = (UserDao ) ctx.getBean("userDao
");
4.利用FileSystemResource读取

Resource rs = new FileSystemResource("D:/tomcat/webapps/test/WEB-INF/classes/
applicationContext.xml");

BeanFactory factory = new XmlBeanFactory(rs);

UserDao userDao = (UserDao )factory.getBean("userDao");
    值得注意的是:利用FileSystemResource,则配置文件必须放在project直接目录下,或者写明绝对路径,否则就会抛出找不到文件的异常。
5.利用FileSystemXmlApplicationContext读取,可以指定XML定义文件的相对路径或者绝对路径来读取定义文件。
(1)
    String[]
path={"WebRoot/WEB-INF/applicationContext.xml","WebRoot/WEB-INF/applicationContext_task.xml"};

ApplicationContext context = new FileSystemXmlApplicationContext(path);
(2)
    String path="WebRoot/WEB-INF/applicationContext*.xml";

ApplicationContext context = new FileSystemXmlApplicationContext(path);
(3)
    ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:地址");
    没有classpath的话就是从当前的工作目录

Spring中加载ApplicationContext.xml文件的方式的更多相关文章

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

    容器加载Bean的常见两个类ApplicationContext和BeanFactory, 一.首先,看看spring中加载配置在xml中的Bean对象到容器 spring 中加载xml配置文件的方式 ...

  2. Spring中加载xml配置文件的六种方式

    Spring中加载xml配置文件的六种方式 博客分类: Spring&EJB XMLSpringWebBeanBlog  因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装 ...

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

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

  4. Spring加载applicationContext.xml实现spring容器管理的几种方式

    package com.etc.test; import org.junit.Test; import org.springframework.beans.factory.BeanFactory; i ...

  5. Spring配置文件详解 – applicationContext.xml文件路径

    Spring配置文件详解 – applicationContext.xml文件路径 Java编程                 spring的配置文件applicationContext.xml的默 ...

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

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

  7. Spring中加载配置文件的方式

    原文:http://blog.csdn.net/snowjlz/article/details/8158560 Spring 中加载XML配置文件的方式,好像有3种, XML是最常见的Spring 应 ...

  8. VC中加载LIB库文件的三种方法

    VC中加载LIB库文件的三种方法 在VC中加载LIB文件的三种方法如下: 方法1:LIB文件直接加入到工程文件列表中   在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中&quo ...

  9. xBIM 实战01 在浏览器中加载IFC模型文件

    系列目录    [已更新最新开发文章,点击查看详细]  一.创建Web项目 打开VS,新建Web项目,选择 .NET Framework 4.5  选择一个空的项目 新建完成后,项目结构如下: 二.添 ...

随机推荐

  1. sqlserver卡号段分组

    之前给上海一家电子商务公司做一个卖卡系统,遇到了卡号段分组的问题.刚开始没什么好的实现方法,遂在博客园求助但未果,没法自己研究sql,终于搞定. 问题描述: 有个卡库存表,有个卡号字段,假设数据:16 ...

  2. python中os和sys模块的详解

    平时在工作中经常会用到os模块和sys模块的一些特性,下面是这些特性的一些相关解释,希望对大家有所帮助 os模块 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os. ...

  3. android: 创建自己的内容提供器

    我们学习了如何在自己的程序中访问其他应用程序的数据.总体来说思 路还是非常简单的,只需要获取到该应用程序的内容 URI,然后借助 ContentResolver 进行CRUD 操作就可以了.可是你有没 ...

  4. Windows 8.1/Server 2012 R2/Embedded 8.1 with Update 3(MSDN最新版)

    微软于12月16日更新了包含Update 3的ISO,此次更新并不会明显改善用户的界面体验,下载后请校验MD5.我整理了中.英文的8.1/服务器版/嵌入式版本/多国语言包. 1,Windows 8.1 ...

  5. Swift - 实现点击cell动态修改高度

    Swift - 实现点击cell动态修改高度 效果 源码 https://github.com/YouXianMing/Swift-Animations // // TapCellAnimationC ...

  6. Initializing a collection

    Before Java 1.7, only this one is permitted: ArrayList<String> a = new ArrayList<String> ...

  7. 关于Domino数据库的软删除

    在Domino的数据库属性的 “高级” 附签(选择文件->数据库->属性),选中“允许软删除”,这样我们就启用了软删除功能,当一个文档没有删除的时候我们可以使用NotesDatabase的 ...

  8. U盘安装ubuntu,一直提示start booting from usb device…[转]

    找到U盘中syslinux文件夹下的syslinux.cfg文件,在default vesamenu.c32前面加一个#号就可以了. 我的syslinux.cfg文件修改后如下,够简单吧!!!!建议用 ...

  9. [LeetCode] Serialize and Deserialize Binary Tree

    Serialize and Deserialize Binary Tree Serialization is the process of converting a data structure or ...

  10. js中“==”与"==="的区别

    首先,== equality 等同,=== identity 恒等. ==, 两边值类型不同的时候,要先进行类型转换,再比较. ===,不做类型转换,类型不同的一定不等. 一言以蔽之:==先转换类型再 ...