码迷,mamicode.com
首页 > 编程语言 > 详细

Spring加载context的几种方法

时间:2018-07-20 14:38:42      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:直接   初始   lap   xmla   nbsp   resource   get   初始化   cto   

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数组形式(已经很少使用了)

  1. 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

  1. Resource cr = new ClassPathResource("applicationContext.xml");   
  2. BeanFactory bf=new XmlBeanFactory(cr);   
  3. 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

  1. String[] path={"WebRoot/WEB-INF/applicationContext.xml",  
  2. "WebRoot/WEB-INF/applicationContext_task.xml"};   
  3. ApplicationContext context = new FileSystemXmlApplicationContext(path);

 

Spring加载context的几种方法

标签:直接   初始   lap   xmla   nbsp   resource   get   初始化   cto   

原文地址:https://www.cnblogs.com/aguai1992/p/9341202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!