博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FileSystemXmlApplicationContext、ClassPathXmlApplicationContext和XmlWebApplicationContext简介
阅读量:4627 次
发布时间:2019-06-09

本文共 1035 字,大约阅读时间需要 3 分钟。

引用:http://blog.csdn.net/souichiro/article/details/6068552

 

今天在用Spring时遇到一个问题,提示找不到applicationContext.xml文件。原来是在加载这个文件时调用的方法不太合适,所以造成了程序找不到项目下的xml配置文件。

 

我们常用的加载context文件的方法有如下三个:

 

1、FileSystemXmlApplicationContext

这个方法是从文件绝对路径加载配置文件,例如:

ApplicationContext ctx = new FileSystemXmlApplicationContext( "G:/Test/applicationcontext.xml ");

如果在参数中写的不是绝对路径,那么方法调用的时候也会默认用绝对路径来找,我测试的时候发现默认的绝对路径是eclipse所在的路径。

采用绝对路径的话,程序的灵活性就很差了,所以这个方法一般不推荐。

(如果要使用classpath路径,需要加入前缀classpath:   )

 

2、ClassPathXmlApplicationContext

这个方法是从classpath下加载配置文件(适合于相对路径方式加载),例如:

ApplicationContext ctx = new ClassPathXmlApplicationContext( "/applicationcontext.xml ");

该方法参数中classpath: 前缀是不需要的,默认就是指项目的classpath路径下面;这也就是说用ClassPathXmlApplicationContext时默认的根目录是在WEB-INF/classes下面,而不是项目根目录。这个需要注意!

 

3、XmlWebApplicationContext

专为web工程定制的方法,推荐Web项目中使用。例如:

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

ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);

转载于:https://www.cnblogs.com/handsome1013/p/4915027.html

你可能感兴趣的文章
java多线程三之线程协作与通信实例
查看>>
japid-controller自动绑定的数据类型
查看>>
vm.max_map_count
查看>>
OSI模型第四层传输层--TCP协议
查看>>
web service 项目 和 普通 web项目 的 区别
查看>>
Linux结构目录
查看>>
ajax frameworks(转贴)
查看>>
javascript禁止修改对象
查看>>
What Are Words(一诺千金)
查看>>
javaScript 工作必知(三) String .的方法从何而来?
查看>>
ubutun:从共享文件夹拷贝文件尽量使用cp命令而不是CTRL+C/V
查看>>
JQUERY动态生成当前年份的前5年以及后 2年
查看>>
MVC3学习 四 EF删除操作
查看>>
IncDec Sequence(codevs 2098)
查看>>
分裂游戏(bzoj 1188)
查看>>
使用 Azure CLI 管理 Azure 虚拟网络和 Linux 虚拟机
查看>>
随机生成6位图片验证码
查看>>
[Win]进程间通信——邮槽Mailslot
查看>>
第3章 模板
查看>>
Git创建本地分支并关联远程分支
查看>>