博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring的核心容器
阅读量:4488 次
发布时间:2019-06-08

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

 

Spring框架的主要功能是通过其核心容器来实现的。Spring提供了2种核心容器:BeanFactory、ApplicationContext。

 

 

BeanFactory

BeanFactory是一个管理Bean的工厂,主要负责初始化各种Bean,并调用它们的声明周期方法。

BeanFactory由BeanFactory接口定义。BeanFactory接口的常用实现类:XmlBeanFactory类。

创建一个BeanFactory的实例:

1   Resource resource=new FileSystemResource("D:/test/src/applicationContext.xml");2    BeanFactory beanFactory=new XmlBeanFactory(resource);

创建一个Spring容器,并使用xml配置文件来初始化容器。参数是Resource类型,指定容器的配置文件。

因为要使用绝对路径,不方便程序移植,不推荐使用。

 

 

 

ApplicationContext

ApplicationContext是BeanFactory的子接口,被称为应用上下文。除了有BeanFactory的全部功能,还提供了对国际化、资源访问、事件传播等的支持,经常用这个。

ApplicationContext接口有2个常用的实现类:

  • ClassPathXmlApplicationContext类    //使用相对路径,最常用,推荐
  • FileSystemXmlApplicationContext类    //使用绝对路径,不推荐

创建示例:

1   ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
1   FileSystemXmlApplicationContext applicationContext=new FileSystemXmlApplicationContext("D:/test/src/applicationContext.xml");

 

 

 

BeanFactory和ApplicationContext都是通过xml配置文件加载Bean的,二者的主要区别:

  • BeanFactory:如果Bean的某个属性没有注入,使用getBean()方法时会抛出异常
  • ApplicationContext:在创建容器时会自检,检查Bean所依赖的属性是否注入。

一般都是优先选择使用ApplicationContext,资源较少时才考虑使用BeanFactory。

 

 

 

创建Spring容器后,就可以获取容器中的Bean了:

  • Object  getBean(String  name)    //通过Bean的id或者name来获取Bean,返回值是Object类型,需要强制类型转换
  • <T>  getBean(String name, Class<T>  requiredType)   //第二个参数指定该Bean的类,这样返回值就是该类型的,不必转换类型。

 

转载于:https://www.cnblogs.com/chy18883701161/p/11107958.html

你可能感兴趣的文章
《CoderXiaoban团队》第一次作业:团队亮相
查看>>
使用vue脚手架vue-cli搭建项目
查看>>
四轴飞行器Bootloader和固件的更新
查看>>
NLP之电影评分数据的情感分析
查看>>
常用网站颜色代码
查看>>
gdb使用
查看>>
【bzoj1593-预定旅馆】线段树维护连续区间
查看>>
Maven的Scored介绍
查看>>
cookie 和session 的区别详解
查看>>
【Java】 大话数据结构(5) 线性表之双向链表
查看>>
【Java】 大话数据结构(6) 栈的顺序与链式存储
查看>>
java 断点续传(springMvc),可支持html5 vedio在线播放 posted @ 2017年3月11日 16:15:44...
查看>>
[入门阅读]怎样在android中解析JSON
查看>>
extjs中rowEditing动态编辑
查看>>
第10题 正则表达式匹配(动态规划)
查看>>
HTML入门
查看>>
[LeetCode] 23. Merge k Sorted Lists
查看>>
windows开启Apache的mod_rewrite模块
查看>>
Webform(分页、组合查询)
查看>>
Foundation - NSDate
查看>>