JAVA bean的作用域

JAVA bean的作用域1、Bean的5种作用域(1)singleton:单例模式,SpringIoC容器中只会存在一个共享的Bean实例,无论有多少个Bean引用它,始终指向同一对象Singleton作用域是Spring中的缺省作用域,也可以显示的将Bean定义为singleton模式,配置为:<beanid=”userDao”class=”com.ioc.UserDaoImpl”scope=”singleton”/>(2)prototype:原型模式,每次通过Spring容器获取prototype定

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1、Bean的5种作用域
(1)singleton:单例模式,Spring IoC容器中只会存在一个共享的Bean实例,无论有多少个Bean引用它,始终指向同一对象Singleton作用域是Spring中的缺省作用域,也可以显示的将Bean定义为singleton模式,配置为:
<bean id=”userDao” class=”com.ioc.UserDaoImpl” scope=”singleton”/>

(2)prototype:原型模式,每次通过Spring容器获取prototype定义的bean时,容器都将创建一个新的Bean实例,每个Bean实例都有自己的属性和状态,而singleton全局只有一个对象。根据经验,对有状态的bean使用prototype作用域,而对无状态的bean使用singleton作用域。

(3)request:在一次Http请求中,容器会返回该Bean的同一实例。而对不同的Http请求则会产生新的Bean,而且该bean仅在当前Http Request内有效。
<bean id=”loginAction” class=”com.cnblogs.Login” scope=”request”/>,针对每一次Http请求,Spring容器根据该bean的定义创建一个全新的实例,且该实例仅在当前Http请求内有效,而其它请求无法看到当前请求中状态的变化,当当前Http请求结束,该bean实例也将会被销毁。

(4)session:在一次Http Session中,容器会返回该Bean的同一实例。而对不同的Session请求则会创建新的实例,该bean实例仅在当前Session内有效。
<bean id=”userPreference” class=”com.ioc.UserPreference” scope=”session”/>,同Http请求相同,每一次session请求创建新的实例,而不同的实例之间不共享属性,且实例仅在自己的session请求内有效,请求结束,则实例将被销毁。

(5)global Session:在一个全局的Http Session中,容器会返回该Bean的同一个实例,仅在使用portlet context时有效。
在这里插入图片描述

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/222888.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Django(41)详解异步任务框架Celery「建议收藏」

    Django(41)详解异步任务框架Celery「建议收藏」celery介绍Celery是由Python开发、简单、灵活、可靠的分布式任务队列,是一个处理异步任务的框架,其本质是生产者消费者模型,生产者发送任务到消息队列,消费者负责处理任务。Celery侧重

  • 数组反转两种方法[通俗易懂]

    数组反转两种方法[通俗易懂]//数组反转 for(inti=0;i<arr.length/2;i++){ Stringt=””; t=arr[i]; arr[i]=arr[arr.length-1-i];//length-1 arr[arr.length]=t; } //方法二 for(inti=0,j=arr.length;i<arr.length/2;i++,j–){ Stringt=arr[i..

  • [iOS]各种定时器–最全的定时器使用

    [iOS]各种定时器–最全的定时器使用

  • 微信域名防屏蔽防封系统,轻松微信中域名网站被屏蔽被封的问题「建议收藏」

    微信域名防屏蔽防封系统,轻松微信中域名网站被屏蔽被封的问题「建议收藏」做微信营销活动,域名没被封过,那你的营销人生肯定是不完整的。如果做到微信域名防封呢?这就要借助一些工具来实现有效的防封措施了。 第一步你需要有一个微信域名检测接口,自己开发或是购买都可以。第二步配置你的程序,用三套域名A、B、C,比如说分享出去的域名是A,这里面A被称作是主域名。点开后跳到B,跳转之前检测一下B有没有被封,这里面的B就称作是落地域名。通常情况下落地域名B…

  • 算法分析与设计论文

    算法分析与设计论文1:递归算法程序直接或间接调用自身的编程技巧称为递归算法(Recursion)。递归算法是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。它通常把一个大型复杂的问题转化为一个与原问题

  • 能向入口函数传入多个参数的 QueueUserWorkItem

    能向入口函数传入多个参数的 QueueUserWorkItem不啰嗦了,花一周时间也没赶上std::async和std::thread的设计,标准库的设计真的,很优秀。我记下这段时间里做了什么;这里包含了把函数拆成两步调用的方法,第一步传参,第二步执行;SplitInvoke;如果我能把第一步放到A线程,第二步放到B线程,就能解决std::thread潜在的两次拷贝和对象(Windows的窗口对象等)绑定到线程问题,就能制造一个优于std::…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号