Springboot框架,Spring框架----Spring的bean的作用范围

 2023-09-28 阅读 28 评论 0

摘要:bean在通常情况下都是一个单例的bean bean的作用范围调整 bean标签的scope属性,作用:用于指定bean的作用范围 取值: singleton:单例,也是默认值,常用 prototype:多例,常用 request:作用于web应用的请求范围 session:作用于web应用的会话范

bean在通常情况下都是一个单例的bean
bean的作用范围调整
bean标签的scope属性,作用:用于指定bean的作用范围
取值:
singleton:单例,也是默认值,常用
prototype:多例,常用
request:作用于web应用的请求范围
session:作用于web应用的会话范围
global-session:作用于集群环境的会话范围,或者叫全局会话范围,当不是集群环境时,它就是session

<bean id="accountService" class="com.yujie.service.Impl.AccountServiceImpl" scope="singleton"></bean>
IAccountService as1=(IAccountService)ac.getBean("accountService");       //第一种,拿到object类型,强转
IAccountService as2=(IAccountService)ac.getBean("accountService");       //第一种,拿到object类型,强转
System.out.println(as1==as2);

在这里插入图片描述

<bean id="accountService" class="com.yujie.service.Impl.AccountServiceImpl" scope="prototype"></bean>

在这里插入图片描述
而global-session作用是什么
当我们一个人访问服务器的时候,服务器都有自己的ip地址,比如192.168.0.1,但是随着访问量的增加,一台服务器扛不住了,所以就有很多台服务器,每台服务器都有ip地址,这个时候就会有一个问题,当我们访问的时候,我们记录的是一个网址http://…当我们第一次请求,在登录页面。那么这个时候在中间就会有一个东西,让你直接访问网址,请求到这里来了,即获取login.jsp然后来到了。然后这个东西就会在后面找哪台机器是空闲状态,假如说1是空闲的,其他都是满负荷,接下来1在执行之后,就会把1给显示过来,login.jsp显示的就是什么用户名,密码,验证码啥的,而验证码应该存两份,一份表单,一份服务器的session域中,但是此时验证码是存在1这台服务器上,当你点击登录按钮,准备发送第二次请求,于是又一次请求点击登录,第二次再请求的时候,以前空闲的机器变成满负荷,而另一台6变成了空闲,这一次请求来到了这台空闲机器,此时由于验证码存在1号服务器上,所以我们需要把这些都看成是一个session,即global-session.
而这个东西叫负载均衡。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/101718.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息