微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

系列教程

作用域配置

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的生命周期,如下所示:

  1. 创建bean实例
  2. 设置bean的属性
  3. 调用初始化回调方法
  4. 使用Bean
  5. 调用销毁回调方法
  6. 销毁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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。