首先看如下代码:
<bean name="user" class="com.domain.User" scope="singleton" init-method="init" destroy-method="destory"></bean>
在bean的配置当中的属性:
- id,(早期的属性,不推荐使用)id的值必须符合id的特性,唯一且不能使用特殊字符
- name,(建议使用)给对象起个名字,建议使用简单类名
- class,填写类的完整的全路径名称(限定名)
- scope,决定对象的声明周期,值有5种:
- singleton(默认值):单例。对象会在容器启动时创建,且getBean时只能得到一个实例。
- prototype:原型多例。对象会在使用时才开始创建,创建之后spring不在管理后续的声明周期,每次getBean时都会获得一个新的实例。
- request(很少使用):WEB项目中,Spring创建一个Bean对象,将对象存入到request域中。
- session(很少使用):WEB项目中,Spring创建一个Bean对象,将对象存入到session域中。
- globalSession(很少使用):WEB项目中,应用在Porlet环境。如果没有Porlet环境那么globalSession相当于session。
- init-method:指定初始化的方法。创建对象实例之后调用初始化方法。
- destory-method:指定销毁的方法。
scope=“singleton”时,在容器销毁和销毁对象前调用销毁方法。
scope=“prototype”时,永远不会调用销毁方法。