Bean管理学习笔记
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元素
注入属性是集合的情况