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作用域与生命周期回调方法配置的更多相关文章

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

    系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of Contro ...

  2. 4.spriing:Bean的生命周期/工厂方法配置Bean/FactoryBean

    1.Bean的生命周期 scope:singleton/prototype 1)spring容器管理singleton作用的生命周期,spring能够精确知道Bean合适创建,何时初始化完成,以及何时 ...

  3. Spring Bean生命周期回调方法

    参阅官方文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-factory ...

  4. Bean 注解(Annotation)配置(3)- 依赖注入配置

    Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...

  5. Bean 注解(Annotation)配置(1)- 通过注解加载Bean

    Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...

  6. Spring中bean的作用域与生命周期

    在 Spring 中,那些组成应用程序的主体及由 Spring IOC 容器所管理的对象,被称之为 bean.简单地讲,bean 就是由 IOC 容器初始化.装配及管理的对象,除此之外,bean 就与 ...

  7. Spring中Bean的作用域、生命周期

                                   Bean的作用域.生命周期 Bean的作用域 Spring 3中为Bean定义了5中作用域,分别为singleton(单例).protot ...

  8. Spring bean的作用域和生命周期

    bean的作用域 1.singleton,prototype, web环境下:request,session,gloab session 2.通过scope="" 来进行配置 3. ...

  9. Spring之Bean的作用域与生命周期

    在前面博客中提到容器启动获得BeanDefinition对象中有一个scope 属性.该属性控制着bean对象的作用域.本章节介绍Bean的作用域及生命周期,了解bean是怎么来的又怎么没的. 一.B ...

随机推荐

  1. linux的切换目录操作

    cd 是 change directory 用法 cd [目录名] 几个特殊目录: ”.“或者”./“当前目录        ”..“或者"../"上级目录        “../ ...

  2. QQ企业通知识点---ClassSerializers

    Serializers  串列器 序列化器 串行器 MemoryStream   创建其支持存储区为内存的流. BinaryFormatter   以二进制格式将对象或整个连接对象图形序列化和反序列化 ...

  3. 【剑指Offer面试编程题】题目1373:整数中1出现的次数--九度OJ

    题目描述: 亲们!!我们的外国友人YZ这几天总是睡不好,初中奥数里有一个题目一直困扰着他,特此他向JOBDU发来求助信,希望亲们能帮帮他.问题是:求出1~13的整数中1出现的次数,并算出100~130 ...

  4. 基于zedboard的DMA设计笔记

    2.BAR0空间的概念:BAR(Base Address Register ) 该组寄存器简称为BAR寄存器,BAR寄存器保存PCI设备使用的地址空间的基地址,该基地址保存的是该设备在PCI总线域中的 ...

  5. partialview 用法

    using  MvcApplication1.Models; @model MvcApplication1.Models.UserInfoModel @{     ViewBag.Title = &q ...

  6. iOS Burp suite CA证书 HTTPS

    设置好burp suite代理后,在浏览器地址输入http://burp/,下载CA证书: 在iOS上下载CA证书,可通过邮件或百度云等一切iOS可以访问证书文件的方法: 点击证书文件iOS提示安装, ...

  7. Vue.js事件处理

    Vue.js事件处理 1.v-on指令 用法如下:使用v-on:指令指定其执行的具体内容或者方法名即可. <button v-on:click='num++'>giao</butto ...

  8. 2.Jsoup

    public static void main(String[] args) { //爬取最大资源网上的数据 //用CSS选择器 try { Document doc = Jsoup.parse(ne ...

  9. 今日份学习:初步的springboot

    今日记录 今日份BUG清单 flyway的sql文件有两个下划线 __ , _ 是不可以的. 高版本的freemarker默认的扩展名变成了flth,而不是ftl 今日份用到的网址 1. freema ...

  10. 使用Zabbix监控Nginx服务实战案例

    使用Zabbix监控Nginx服务实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.编译安装nginx步骤详解并开启状态页 博主推荐阅读: https://www.cn ...