Bean对象的作用域
默认自定义的bean都是单例
自己写的类:dao层,service层,action层,domain层,util层
哪些层应该是单例?
dao层,service层,DataSource,SessionFactory
哪些层应该是多例(获取一次就new一次)?
struts2:action层
domain层,util层不由spring管理,自己管理
Bean节点有个属性scope
singleton,默认值,单例
prototype,多例 struts2的action必须配置多例
以下两种一般都不用
request 放到http请求作用域
session 放到http会话作用域
Bean对象的生命周期
1.构造,初始化,业务方法,销毁
2.如果配置为多例,则销毁方法不执行
3.一般来讲,都不使用,配置数据源DataSource destroy-method="close"用来销毁内存里面的连接
<!--初始化方法 init-method="init" 销毁方法 destroy-method="destory"-->
<!-- 多例不调用销毁方法,它认为用一次就不要了 -->
<bean id="myBean" class="cn.mytest.spring.day1.f_scope.MyBean"
init-method="init" destroy-method="destory" scope="prototype"/>
方法调用顺序
构造方法->init()->业务方法->destory()