spring对bean对象的管理,主要涉及到bean的创建方式、bean的作用域、bean的生命周期。
bean的创建方式
传统应用程序可以通过new和反射方式进行实例化对象。而Spring IoC容器则需要根据Bean定义里的配置元数据使用反射机制来创建Bean。
使用构造器实例化Bean:
有参构造和无参构造的方式。
使用静态工厂方式实例化Bean:
使用实例工厂方法实例化Bean:
用 setter 方式:
bean对象的作用范围
Spring默认bean对象是单例的
Bean的作用范围调整: bean标签的scope属性
作用: 用于指定bean的作用范围
取值:
singleton 单例(默认值)
prototype 多例的
request 作用于Web应用的请求范围
session 作用于Web应用的会话范围
global-session 作用于集群环境的会话范围(全局会话范围),当不是集群环境时,它就是session
bean的生命周期
单例:
随着容器的创建而存在;
多例:
当我们使用对象时,spring帮忙创建,当没有别的对象引用时,由JAVA的垃圾回收器回收