Spring入门之bean的属性

  1. 可以在bean中配置scope属性,例如:
<bean xxx lazy-init="false">bean>

在默认情况下,spring创建bean是单例模式
scope默认是singleton:
singleton:单例
* 属性是共享的
* 一般情况下,把数据存放到方法中的变量中
prototype:多例
* 当一个bean是多例模式的情况下,lazy-init为false或者default无效


2.可以在bean中配置init-method属性和destroy-method属性,但是必须在相应的bean类中实现对应的方法。
配置文件中添加:

method="init" destroy-method="destroy">bean>

init-method:
* 该方法是由spring容器执行的
* 在构造方法执行之后执行
* 如果在构造函数之后,在调用方法之前需要执行一些操作(比如初始化),可以在init-method方法执行


destroy-method:
* 如果该bean是单例,则在spring容器关闭或者销毁时,执行该方法
* 如果该bean是多例,则spring容器不负责销毁


说明:要想让spring容器控制bean的生命周期,则该bean必须是单例。如果该bean是多例,该bean中还有资源(比如流未关闭),关闭资源的操作由程序员完成。

你可能感兴趣的:(Spring)