Spring加载context的几种方法
Posted 阿怪123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring加载context的几种方法相关的知识,希望对你有一定的参考价值。
Spring中的context管理
Spring中IOC容器的初始化:
ApplicationContext即是保存bean对象的容器,故容器本身的初始化,就是通过一系列的配置,将ApplicationContext进行初始化。
而配置ApplicationContext大方向上分为了3中:
一、使用classpath
二、使用本地文件系统中某个文件地址
三、(SpringMVC)web应用中用servlet类或者Listener类来初始化IOC容器
而具体下来可以分为12种方式:
1 ClassPathXmlApplicationContext
利用这个实现类来读取classpath路径下的xml文件
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao dao = (UserDao)context.getBean("userDao");
2 String数组形式(已经很少使用了)
- 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");
3 ClassPathResource
首先使用ClassPathResource将xml读取为一个Resource,之后用XmlBeanFactory去加在并读取该Resource
- Resource cr = new ClassPathResource("applicationContext.xml");
- BeanFactory bf=new XmlBeanFactory(cr);
- UserDao userDao = (UserDao)bf.getBean("userDao");
4 FileSystemResource
Resource rs = new FileSystemResource("D:/tomcat/webapps/wiscom/WEB-INF/classes/applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(rs);
UserDao userDao = (UserDao )factory.getBean("userDao");
此时的xml要么放在project的直接目录下,要么使用绝对路径
5 FileSystemXmlApplicationContext
- String[] path={"WebRoot/WEB-INF/applicationContext.xml",
- "WebRoot/WEB-INF/applicationContext_task.xml"};
- ApplicationContext context = new FileSystemXmlApplicationContext(path);
以上是关于Spring加载context的几种方法的主要内容,如果未能解决你的问题,请参考以下文章
spring配置问题:严重: Error configuring application listener of class org.springframework.web.context.Conte