Bean的配置:
id:是一个Bean的唯一标识符,Spring容器对Bean的配置,管理都通过该属性来完成
name:Spring容器同样可以用该属性进行配置和管理Bean,name属性可以为Bean指定多个名称,每个名称之间用逗号或分号隔开
class:用来指定Bean实例的作用域,它必须是一个完整的类名,使用类的完全限定名
scope:用来定义Bean实例的作用域,其属性值都有:
Singleton(单例):使用Singleton定义的Bean在Spring容器中将只有一个实例,也就是说无论多少个Bean引用它
始终将指向同一个对象,这也是Spring默认的作用域
prototype(原型):每次通过Spring容器获取prototype定义的Bean时,容器都会创建一个新的实例
request:再一次Http请求中,容器会返回该Bean的同一个实例,对不同的Http请求会返回一个新的Bean
而且Bean只会在当前HTTP Request请求中有效
session:在一次Http请求中,容器会返回该Bean的同一个实例,对不同的Http请求会返回一个新的Bean
而且Bean只会在当前HTTP request请求中有效
constructor-arg:Bean的子元素,可以通过此元素传入构造函数进行实例化,该元素的index属性指构造函数的参数序号(从0开始)
property:Bean的子元素,用于调用Bean中的setting方法完成属性赋值,从而完成依赖注入
ref:用于指定对Bean工厂中某个实例的引用
value:用于指定一个常量
Bean的实例化:
1,构造器实例化
构造器实例化是指Spring容器通过Bean对用类中默认的无参构造方法来实例化
【1】创建类Bean1
【2】编写配置文件
【3】编写测试类
2,静态工厂实例化:
【1】创建要实例化的类和工厂类
【2】编写配置文件
【3】测试
3,实例工厂实例化
【1】创建Bean3类和实例工厂类
【2】编写配置文件
【3】测试