文档章节

Spring 中 Bean 的作用域

竹竿先生
 竹竿先生
发布于 2017/05/07 17:05
字数 312
阅读 9
收藏 0

    在默认情况下,Spring 应用上下文中所有的 bean 都是以单例的形式存在的. 也就是说不管给定的一个 bean 被注入到其它 bean多少次,每次注入的都是同一个实例.

    在大多数情况下,单例 bean 是很理想的方案,初始化和垃圾回收对象实例所带来的成本只留给一些小规模任务, 但是有的时候你使用的类是易变的,他们会保持一些状态, 这样定义为单例来重用就会变的不安全.

Spring 定义了多种作用域, 可以基于这些作用域创建 bean, 包括:

  1. 单例(Singleton) : 在整个应用中, 只创建 bean 的一个实例
  2. 原型(Prototype) : 每次注入或者通过Spring应用上下文获取的时候, 都会创建一个新的bean实例
    @Component // 表示作为组件,由Spring为该类创建Bean
    // @Scope("prototype") 效果相同,但是不推荐,因为没有编译器的检查
    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) 
    public class MingYao implements MediaPlayer {

     

  3. 会话(Session) : 在 Web 应用中, 为每个会话创建一个 bean 实例

  4. 请求(Rquest) : 在 Web 应用中, 为每个请求创建一个 bean 实例

© 著作权归作者所有

竹竿先生
粉丝 3
博文 92
码字总数 25526
作品 0
杭州
程序员
私信 提问
全国监理工程师培训班结业证书 广东 浙江 工程师证 工程师证样本

什么是Spring beans? Spring beans 是那些形成Spring应用的主干的java对象。它们被Spring IOC容器初始化,装配,和管理。这些beans通过容器中配置的元数据创建。比如,以XML文件中 的形式定义...

spring小鸟
2018/08/26
0
0
Spring温故而知新 - bean的装配

按条件装配bean 就是当满足特定的条件时Spring容器才创建Bean,Spring中通过@Conditional注解来实现条件化配置bean package com.sl.ioc;import org.springframework.context.annotation.Bean;...

Java-老刘
2018/05/07
0
0
Spring容器中Bean的作用域

当通过Spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域。Spring支持如下5种作用域: singleton:单例模式,在整个Spring IoC容器中,使用singl...

摆渡者
2014/02/26
0
1
说说 Spring Bean 的作用域

配置文件中定义 Bean 时,我们不但可以配置 Bean 的属性值以及相互之间的依赖关系,还可以定义 Bean 的作用域 。作用域会对 Bean 的生命周期和创建方式产生影响 。 Bean 的作用域类型: 低版...

deniro
2018/05/07
0
0
Spring Bean的作用域管理

Spring框架支持5种作用域,有三种作用域是当开发者使用基于web的的时候才生效的 下面就是Spring内置支持的作用域 在Spring 3.0中,线程作用域是可用的,但不是默认注册的 1. singleton 全局只...

芥末无疆
2018/02/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊Elasticsearch的CircuitBreakerService

序 本文主要研究一下Elasticsearch的CircuitBreakerService CircuitBreakerService elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/indices/breaker/CircuitBreakerService.ja......

go4it
10分钟前
1
0
Spring系列教程六:AOP详细讲解

AOP 概述 什么是 AOP AOP:全称是 Aspect Oriented Programming 即:面向切面编程。 AOP技术是对OOP技术的一种延伸,AOP是面向纵向,OOP是面向横向。简单的说它就是把我们程序重复的代码抽取...

我叫小糖主
24分钟前
9
0
Qt编写数据可视化大屏界面电子看板9-曲线效果

一、前言 为了编写数据可视化大屏界面电子看板系统,为了能够兼容Qt4和嵌入式linux系统,尤其是那种主频很低的,但是老板又需要在这种硬件上(比如树莓派、香橙派、全志H3、imx6)展示这么华...

飞扬青云
45分钟前
3
0
责任链模式

//这篇博客的博主真的不错,解析的都很清晰明了, https://blog.csdn.net/jason0539/article/details/45091639

南桥北木
今天
3
0
Flutter -------- dio网络请求

dio是Flutter中文网开源的一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等... 1.添加依赖# dependencies: dio: 2.1.x #...

切切歆语
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部