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时有效。
在这里插入图片描述

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker启动镜像容器命令_镜像删除

    docker启动镜像容器命令_镜像删除一、查看当前docker中下载的镜像,如下图,当前我的Docker容器中存在两个镜像,tomcat、mysql二、启动镜像(因启动命令参数过多,同时各种镜像启动时可以增加额外的参数,本次以启动mysql5.6为例)dockerrun-p本机映射端口:镜像映射端口-d–name启动镜像名称-e镜像启动参数镜像名称:镜像版本号参数释义:-p本机端口和容器启动端口映射-d后台运行–name容器名称-e镜像启动参数例:

    2022年9月22日
    3
  • intellij idea如何右键新建文件中添加jsp格式的文件【初学者适用】[通俗易懂]

    intellij idea如何右键新建文件中添加jsp格式的文件【初学者适用】[通俗易懂]idea如何右键新建文件中添加jsp格式的文件&amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;nbsp;有位同学在学习使用intellijidea,在创建web类的project时,新建中找不到jsp格式类型,下面是怂怂总结的解决步骤,希望可以帮助更多诸如小太阳同学,解决相同的问题。&amp;amp;amp;a

    2025年7月26日
    7
  • 什么是 Sidecar[通俗易懂]

    什么是 Sidecar[通俗易懂]Sidecar是什么将本将属于应用程序的功能拆分成单独的进程,这个进程可以被理解为Sidecar。在微服务体系内,将集成在应用内的微服务功能剥离到了sidecar内,sidecar提供了微服务发现、注册,服务调用,应用认证,限速等功能。特点:Sidecar为独立部署的进程。sidecar降低应用程序代码和底层代码的耦合度,帮助异构服务通过sidecar快速接入微服务体系。Sidecar如何工作接下来以异构服务为基础介绍sidecar如何工作。Sidecar代理服务注册发现下图为异构

    2022年4月19日
    58
  • onedrive个人版免费扩容_onedrive扩容25t

    onedrive个人版免费扩容_onedrive扩容25tSkyDriveRenamedOneDriveSkyDriveProRenamed OneDriveforBusinessInvitefriendstojoinOneDriveForeachfriendwhosignsintoOneDriveasanewcustomer,bothyouandyourfriendwillreceiveanextra0.5

    2025年10月9日
    4
  • web开发中前端页面是如何跟后端服务器数据交互的「建议收藏」

    web开发中前端页面是如何跟后端服务器数据交互的「建议收藏」后端服务器一般是指servlet容器,用于执行java源程序常见的网页有html,htm,shtml,asp,aspx,php,jsp等格式前两个常用于静态网页,后面几个常用于动态网页。这里前端网页以比较常见的xx.html和xx.jsp网页作为介绍,其它类似一、静态页面xx.html如何跟后台交互:先来看一个最简单的登陆界面源代码 &lt;body&gt;…

    2022年6月12日
    32
  • docker启动MySQL报错

    docker启动MySQL报错一.问题描述今天用docker拉取了MySQL镜像,但是启动的时候遇到了问题。error:databaseisuninitializedandpasswordoptionisnotspecifiedYouneedtospecifyoneofMYSQL_ROOT_PASSWORD,MYSQL_ALLOW_EMPTY_PASSWORDandMYSQL_RANDOM_ROOT_PASSWORD二.解决由于没有找到其他帖子上在图形化界面上操作的修改,因此我们选

    2022年10月6日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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