码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-06-05 09:19:12      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:数据库   actor   XML   获取   cti   自动装配   class   tco   dem   


Spring 系列教程


Bean XML 配置(2)- Bean作用域与生命周期回调方法配置中,介绍了使用XML配置Bean作用域与生命周期回调方法。本文介绍使用注解方式配置 Bean作用域与生命周期回调方法。

Bean作用域

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

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

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

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

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

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

Bean的作用域用注解方式设置,可以用@Scope注解。

示例:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Component
@Scope("prototype") // 设置作用域
public class App {

    // ...
}

使用注解指定初始化回调方法与销毁回调方法

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

  1. 创建bean实例
  2. 设置bean的属性值
  3. 调用初始化回调方法
  4. 使用Bean
  5. 调用销毁回调方法
  6. 销毁Bean

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

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

初始化回调方法与销毁回调方法可通过下面的注解指定:

  • @PostConstruct - 此注解指定初始化回调方法
  • @PreDestroy - 此注解指定销毁回调方法

示例:

package com.qikegu.demo;
 
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;


public class App {

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

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

标签:数据库   actor   XML   获取   cti   自动装配   class   tco   dem   

原文地址:https://www.cnblogs.com/jinbuqi/p/10977644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!