singleton (默认方式)

在每个Spring IoC容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定bean节点的lazy-init=“true”来延迟初始化bean,这时候,只有第一次获取bean会才初始化bean。如:

 
1
 <bean id="xxx" class="cn.itcast.OrderServiceBean" lazy-init="true"/>

如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=“true“(不推荐,不利于测试),如下:

 
1
<beans default-lazy-init="true“ ...>

prototype 

 每次从容器获取bean都是新的对象,当调用getBean方法时实例化bean对象。

 
1
  <bean id="personService" class="zmc.PersonServicebean" scope="prototype"></bean>

以下方式为javaWeb中的作用域

.request

.session

.global session

指定Bean的初始化方法和销毁方法

 
1
<bean id="xxx" class="cn.itcast.OrderServiceBean" init-method="init" destroy-method="close"/>

init-method:当bean被实例化后,就会执行此方法。

Destory-method:当bean被销毁(也就是关闭Spring容器)之前,先执行此方法。

示例:

配置文件

 
1
<bean id="personService" class="zmc.PersonServicebean" destroy-method="close"></bean>

Bean类

 
 
 
 
 

Java

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package zmc;
import zmcjk.PersonService;
 
public class PersonServicebean implements PersonService {
 
//销毁方法
 
public void close(){
 
System.out.println("执行销毁方法");
 
}
 
}

测试类:

 
1
2
3
AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
 
ctx.close();

最新文章

  1. sublime text 如何新建,删除,重命名等问文件的快速操作
  2. 打开Application Data
  3. Linux 内核编译
  4. vim 显示颜色脚本
  5. 向量时钟Vector Clock in Riak
  6. iOS流量监控
  7. 天气api
  8. 数据人员Sql必会列转行
  9. [ html canvas putImageData ] canvas绘图属性 putImageData 属性讲解
  10. python自学笔记(六)二进制与位移
  11. Appium 的安装启动
  12. [译]ASP.NET Core 2.0 系列文章目录
  13. 系统架构以及需要导入的jar包
  14. activiti 动态配置 activiti 监听引擎启动和初始化(高级源码篇)
  15. python学习初始函数
  16. 消息队列queue
  17. error: checker javascript/jshint: can’t parse version string (abnormal termination?)”
  18. WPF Command CanExecute 触发一次的问题
  19. [转]Robotium环境搭建中的Errors running builder &#39;Android Resource Manag
  20. POJ1006——中国剩余定理

热门文章

  1. Reveal Jquery 模式对话框插件
  2. 008杰信-创建购销合同Excel报表系列-1-建四张表
  3. Servlet的线程是不是共享同一个requset对象及servlet多线程
  4. before伪类的超有用应用技巧——水平菜单竖线分隔符
  5. Elixir语言
  6. 仿美团ViewPager+GridView
  7. measure layout onMeasure() onLayout()
  8. C语言数组的概念
  9. C语言关系运算符
  10. JVM内存简析