在Spring框架中,可以通过XML配置文件来管理Bean的作用域,包括默认作用域Singleton(单例)
、Prototype(原型)
、Request
、Session
、Global Session
等。
1. Singleton作用域
Singleton是Spring默认
的作用域,表示在整个应用程序中只会创建一个Bean实例
。
<bean id="singletonBean" class="com.example.SingletonBean" scope="singleton"/>
singletonBean 的作用域被设置为Singleton,即整个应用程序中只会创建一个 SingletonBean 实例。
2. Prototype作用域
Prototype作用域表示每次从容器中获取Bean时都会创建一个新的实例。
<bean id="prototypeBean" class="com.example.PrototypeBean" scope="prototype"/>
prototypeBean 的作用域被设置为Prototype,每次获取 prototypeBean 时都会创建一个新的 PrototypeBean 实例。
3. Request作用域
Request作用域表示每个HTTP请求
都会创建一个新的Bean实例。
<bean id="requestBean" class="com.example.RequestBean" scope="request"/>
requestBean 的作用域被设置为Request,表示每个HTTP请求都会创建一个新的 RequestBean 实例。
4. Session作用域
Session作用域表示每个HTTP会话
都会创建一个新的Bean实例。
<bean id="sessionBean" class="com.example.SessionBean" scope="session"/>
在这个示例中, sessionBean 的作用域被设置为Session,表示每个HTTP会话都会创建一个新的 SessionBean 实例。
5. Global Session作用域
Global Session作用域表示全局HTTP会话(通常用于Portlet环境)会创建一个新的Bean实例。
<bean id="globalSessionBean" class="com.example.GlobalSessionBean" scope="globalSession"/>