1.bean标签的对象获取getbean方法。
方式一:根据bean的id获取对象
方式二:根据字节码获取对象。
方式三:当一个接口有多个实现类时。根据字节码与bean的id 进行确定获取指定Bean对象
2.bean标签的属性和作用
作用:
用于配置对象让spring来创建的。
默认情况下调用类中的无参构造函数,如果没有无参构造函数则不能创建成功。
属性:
id:给对象在容器中提供一个唯一的标识,用于获取对象。
class:指定类的全限定类名。用于反射创建对象。默认情况下调用无参构造函数
scope:指定对象的作用范围
init-method:指定类中的初始化方法名称
destroy-method:指定类中销毁方法名称
示例:
3.bean标签的生命周期
单例对象: scope="singleton" 一个应用只有一个对象的实例。它的作用范围就是整个引用。
生命周期:(单例的生命周期与容器的生命周期相同)
对象出生: 当应用加载,创建容器时,对象就被创建了
对象活着: 只要容器在,对象一直活着。
对象死亡: 当应用卸载,销毁容器时,对象就被销毁了
多例对象: scope="prototype" 每次访问对象时,都会重新创建对象实例
生命周期: 多例模式的bean对象,spring框架只负责创建,不负责销毁
对象出生: 当使用对象时,创建新的对象实例。
对象活着: 只要对象在使用中,就一直活着
对象死亡: 当对象长时间不用时,被 java 的垃圾回收器回收了。
4.实例化bean的三种方式。
方式一:spring使用默认无参构造函数
方式二:使用静态工厂创建对象
方式三:spring管理实例工厂
此种方式是先把工厂的创建交给spring来管理,然后在使用工厂的bean来创建