Bean XML 配置(2)- Bean作用域与生命周期回调方法配置

    xiaoxiao2024-12-23  65


    系列教程

    Spring 框架介绍Spring 框架模块Spring开发环境搭建(Eclipse)创建一个简单的Spring应用Spring 控制反转容器(Inversion of Control – IOC)理解依赖注入(DI – Dependency Injection)Bean XML 配置(1)- 通过XML配置加载BeanBean XML 配置(2)- Bean作用域与生命周期回调方法配置Bean XML 配置(3)- 依赖注入配置Bean XML 配置(4)- 自动装配Bean 注解(Annotation)配置(1)- 通过注解加载BeanBean 注解(Annotation)配置(2)- Bean作用域与生命周期回调方法配置Bean 注解(Annotation)配置(3)- 依赖注入配置Bean Java配置Spring 面向切面编程(AOP)Spring 事件(1)- 内置事件Spring 事件(2)- 自定义事件

    作用域配置

    spring中创建bean时,可以指定作用域。作用域有以下5种类型:

    单例(singleton) 默认作用域,一个spring容器中只有Bean的一个实例。

    原型(prototype) 每次获取Bean时生成一个新的实例。

    请求(request) 作用域是单个http请求,单个http请求只有Bean的一个实例。一旦请求完成,bean实例将被销毁。

    会话(session) 作用域是单个会话,单个会话只有Bean的一个实例。一旦会话结束,bean实例将被销毁。

    全局会话(global-session) 在Portlet应用程序中使用,每个全局会话只有Bean的一个实例。普通Servlet应用中与会话作用域无区别。

    XML中配置Bean的作用域

    示例:

    <bean id="app" class="App" scope="prototype"></bean>

    设置作用域:scope="prototype",“原型”作用域表明每次获取Bean时生成一个新的实例。

    生命周期回调方法

    Spring容器负责管理Bean的生命周期,如下所示:

    创建bean实例设置bean的属性值调用初始化回调方法使用Bean调用销毁回调方法销毁Bean

    Bean在创建时,需要执行一些资源(数据库、套接字、文件)申请等初始化工作,可以在Bean的初始化回调方法中处理,此方法由Spring容器调用。

    同样Bean在销毁时,需要执行一些资源(数据库、套接字、文件)申请等销毁工作,可以在Bean的销毁回调方法中处理,此方法由Spring容器调用。

    1. 创建初始化方法和销毁方法

    public class App { // ... public void init() { System.out.println("初始化..."); } public void close() { System.out.println("销毁..."); } // ... }

    2. 在XML配置中指定方法

    指定Bean的初始化方法和销毁方法,Spring容器会为该Bean调用这些方法。

    <bean id="app" class="App" init-method="init" destroy-method="close"></bean>
    最新回复(0)