spring默认创建的bean是单例的,默认创建的是一个
如何创建非单例的:配置
为什么bean默认为单例?
对于spring来说他管理的bean要放在容器中,如果不是单例的,bean数量太多,spring管理的对象主要是可以复用的对象,所以还会从容器中拿,这样效率会高,所以默认创建的是单例的。
适合交给容器进行管理的bean
表现层对象:servlet
业务层对象:service
数据层对象:dao
工具对象
不适合交给容器进行管理的bean:封装实体的域对象【有状态的,会记录成员变量属性值的】
二、bean的实例化 1.构造方法bean本质上就是对象,容器中管理的对象叫bean,创建bean使用构造方法完成,底层用的是反射
spring创建bean的时候调用的是无参的构造函数
无参构造方法如果不存在,将抛出异常BeanCreationException
2.静态工厂了解就行
3.实例工厂这个了解就行
spring又做了一个升级:(常用)
三、bean的生命周期
也就是bean对象从创建到销毁的过程
bean生命周期控制:
1.配置方法
2.接口控制
初始化容器:
1.创建对象(内存分配),也就是 new做的事情
2.执行构造方法 构造方法执行完之后整个对象创建完
3.执行属性注入( set *** 作) set *** 作优先于bean的初始化 *** 作
4.执行bean初始化方法
使用bean :执行业务 *** 作
关闭/销毁容器:执行bean销毁方法 在关闭销毁容器前完成的
bean的销毁时机:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)