1、BeanFactory 介绍

1.1 首先什么是Bean?

1、Bean在Spring技术中是基于组件

2、他是Spring容器管理的最基本最常见的单元。在spring的应用场合中,bean可以是数据源、java的普通类

3、其实例保存在Spring的容器中,这种方式也是spring的核心思想所在

Bean通常被定义在配置文件中,bean的实例化由spring的ioc容器进行管理。

Bean的实例可以通过beanFactory进行访问,实际上大部分的j2ee的应用,bean是通过applicationContext来访问的。ApplicationContext是beanFactory的子接口,其 功能要比beanFactory强大的多

1.2 什么是BeanFactory?

Spring容器有一个被称为beanFactory的接口,被称为spring上下文,他是产生bean的工厂,是spring依赖注入的核心。

1.3 BeanFactory的作用:

1、用于配置、创建以及管理Bean对象

2、维持Bean对象之间的依赖关系

3、负责Bean对象的生命周期

BeanFactory的常用方法

1、containsBean(string beanname) :判断是否存在某个bean对象

2、getBean(string beanname):返回bean对象

BeanFactory有很多的实现类,但通常我们使用XmlBeanFactory类

如:

2、ApplicationContext

对于J2EE程序的开发,建议使用applicationContext,他是beanFactory的子接口。

1、读取Bean定义文件

2、维护Bean之间的依赖关系

3、国际化的支持

4、资源访问

5、事件传播

6、多配置文件的加载

3、Bean定义

3.1 配置文件

1、<beans/>是Spring配置文件的根节点

2、一个<beans/>节点里面有多个<bean>节点

3.2 定义bean节点时通常要指定两个属性

1、id

2、Class

3.3 bean在Spring容器中有两种行为

1、singleton

2、non-singleton

当设置bean的行为是单例是就是单例,设置非单例时就是非单例。

4、创建Bean

4.1 Bean的查找机制

Spring容器查找某个bean对象时,首先根据bean的id查找,如果id属性不存在,则根据name属性查找,如果name属性也不存在,则会根据类的名称进行查找

4.2 Bean的别名

为了提供多个名称, 通过alias属性指定别名。

所有的名称实际上都指向了同一个bean。

Fromname用于指定关联的bean的名称

Toname是该关联类的别名名称

4.2 Bean的创建步骤

注入属性

如果bean的属性需要注入另一个bean的实例,要使用ref元素

注入属性是集合的情况

5、高级管理

最新文章

  1. 渗透杂记-2013-07-13 ms10_061_spoolss
  2. 记一次创建LVM的日志记录
  3. 在浏览器输入网址到页面加载完毕中间到底发生了什么?(Browser--&gt;Server)
  4. 离屏渲染学习笔记 /iOS圆角性能问题
  5. IE中无法执行JS脚本 解决WINDOWS SERVER 2008弹出INTERNET EXPLORER增强安全配置正在阻止来自下列网站的内容
  6. WEB/HTTP 调试利器 Fiddler 的一些技巧分享
  7. 方法javaJVM学习笔记-内存处理
  8. Codeforces Round #226 (Div. 2)C. Bear and Prime Numbers
  9. bzoj1257
  10. VM 映像
  11. const对象默认是static的,而不是extern的
  12. hdu 4472 Count (递推)
  13. vi 使用教程
  14. HDU 5512 Pagodas
  15. cmd+任务管理器解决端口被占用的问题
  16. hashCode方法和equals方法比较
  17. 一、Dev
  18. 五花八门的Shell 的相关概念和配置方法
  19. 理解AXI Quad Serial Peripheral Interface(SPI) IP核
  20. Dream------scala--函数定义、流程控制、异常处理

热门文章

  1. Spark-Streaming hdfs count 案例
  2. Linux 上配置 SQL Server Always On Availability Group
  3. PyTorch 实战:计算 Wasserstein 距离
  4. Windows10环境下 Nginx+ffmpeg自搭服务器制作RTMP直播流
  5. 关于Objective-C新增的__kindof关键字
  6. [LeetCode] 495. Teemo Attacking 提莫攻击
  7. [LeetCode] 741. Cherry Pickup 捡樱桃
  8. laravel相关知识点
  9. 【视频开发】OpenCV中Mat,图像二维指针和CxImage类的转换
  10. Windows 7安装Service Pack 1失败问题