Spring学习笔记3,Bean的作用域,基于Spring简单完整开发

spring提供bean的作用域:

Spring学习笔记3,Bean的作用域,基于Spring简单完整开发

1、singleton:单例,系统在运行中只有一个实例
在加载spring容器时候将bean实例化好了,只实例化一次。
spring容器对bean的管理默认就是单例。

2、prototype:多例,每次访问都要创建一个实例。
调用applicationContext.getBean方法时,都会创建一个实例
Spring学习笔记3,Bean的作用域,基于Spring简单完整开发
重点:!!!
Dao:单例,在dao不要添加具有状态的属性(数据域的成员变量)
Service:单例,在Service不要添加具有状态的属性(数据域的成员变量)
Action:多例
Servlet:单例

当类线程安全时可以用单例,没有数据域的成员变量(具有状态的属性)


基于Spring简单完整开发

1.dao

编写dao接口,在spring容器配置dao ,Dao以单例方式管理。
Spring学习笔记3,Bean的作用域,基于Spring简单完整开发

2.service

编写service接口及实现类,将service依赖的dao作为service类的属性及get/set方法定义。
Spring学习笔记3,Bean的作用域,基于Spring简单完整开发
在spring容器中配置service,配置service依赖的属性:
Spring学习笔记3,Bean的作用域,基于Spring简单完整开发
service以单例管理。

3.action

编写action类,将action依赖的service作为属性定义,定义属性的get/set方法。
Spring学习笔记3,Bean的作用域,基于Spring简单完整开发
配置action:

  • 在spring容器配置action
    Spring学习笔记3,Bean的作用域,基于Spring简单完整开发
    以多例管理struts2的action。

  • 在struts.xml配置action
    Spring学习笔记3,Bean的作用域,基于Spring简单完整开发