1、Bean的配置
id:是Bean的唯一标识,在代码中以BeanFactory获取Bean实例时需要以此作为名称取得。
class:Bean的具体实现类。
scope:Bean的作用域
<constructor-arg>用于构造方法的注入
index:指定参数的序号
ref:引用对象,引用其他Bean
type:指定参数类型
value:值对象,参数的常量值
<property>用于set方法注入,或者设置一个属性
name:指定Bean实例中对应的属性名称
value:值对象,指定Bean的属性值
ref:引用对象,引用其他Bean
<list>封装List或者数组类的依赖注入
<map>封装map类型的依赖注入
<set>设置map一个键值对
<set>封装set类的依赖注入
2 Bean的实例化
构造方法实例化(常用)
静态工厂实例化
动态工厂实例化
3 Bean的作用域 *对用1中的scope
singleton:单例;默认作用域
prototype:每次都创建一个新的Bean
request:仅在web spring应用上下文中使用
session:仅在web spring应用上下文中使用
application:仅在web spring应用上下文中使用
websocket:仅在web spring应用上下文中使用
4 生命周期
在spring bean中,生命周期包括创建,使用和销毁。创建包括实例化和初始化,实例化是为bean开辟空间,初始化则是对bean的初始化。
spring容器创建bean以后,后面的生命周期是交由客户端进行管理的。
spring提供和很多对外的接口,允许开发者对创建,使用和销毁前后做一些动作。
5 bean的装配方式
基于XML配置的装配
基于注解的装配