7.4Java EE——Bean的作用域

news2024/10/4 12:25:21

一、singleton作用域

Spring支持的5种作用域

作用域名城

描述

singleton

单例模式。在单例模式下,Spring 容器中只会存在一个共享的Bean实例,

所有对Bean的请求,只要请求的id(或name)与Bean的定义相匹配,

会返回Bean的同一个实例。

prototype

原型模式,每次从容器中请求Bean时,都会产生一个新的实例。

request

每一个HTTP请求都会有自己的Bean实例,

该作用域只能在基于Web的Spring ApplicationContext中使用。

session

每一个HTTPsession请求都会有自己的Bean实例,

该作用域只能在基于Web的Spring ApplicationContext中使用。

global session

限定一个Bean的作用域为Web应用(HTTPsession)的生命周期,

只有在Web应用中使用Spring时,该作用域才有效。

1、 下面将通过案例的方式演示Spring容器中singleton作用域的使用。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="bean1" class="com.mac.Bean1" scope="singleton"></bean>
</beans>

2、创建测试类scopeTest,在main()方法中通过加载applicationBean1.xml配置文件初始化Spring容器,通过Spring容器获取Bean1类的两个实例,判断两个实例是否为同一个。

public class scopeTest{
    public static void main(String[] args){
        ApplicationContext applicationContext=new 
               ClassPathXmlApplicationContext("applicationBean1.xml");
        Bean1 bean1_1=(Bean1) applicationContext.getBean("bean1");
        Bean1 bean1_2=(Bean1) applicationContext.getBean("bean1");
        System.out.print(bean1_1==bean1_2);	}
}

 3、在IDEA中启动scopeTest类,控制台会输出运行结果。

 

 二、prototype作用域

singleton作用域知识点的基础上修改配置文件,将id为bean1的作用域设置为prototype。

<bean id="bean1" class="com.mac.Bean1" scope="prototype"></bean>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/769535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

msvc2017x64编译器编译项目报错”编译器的堆空间不足“错误 的解决方法

开发日常软件的时候&#xff0c;因为项目较大&#xff0c;模块较多&#xff0c;编译时&#xff0c;报错”编译器编译空间不足“&#xff0c;且常规方法无法消除的问题。有 opengl模块 占用内存大 尝试 尝试1   按照常规的&#xff0c;在pro里面加大资源配置&#xff1a; CONF…

记录一下uniapp开发中遇到的一些问题

概述 最近码代码的时候遇到一些问题&#xff0c;这里自己记录总结一下&#xff0c;供大家参考&#xff0c;说得不对的地方希望大家指出 大概介绍一下我用到的内容 用HbuilderX新建一个uni-app项目 &#xff0c;vue版本选的2&#xff0c;爬坑轻松一点移动端ui框架选了uView&…

C 知识积累 回车与换行 Linux C 语法分析

目录 回车与换行一.知其然二.知其所以然 关键字&#xff0c;操作符和函数区别1&#xff1a;关键字2&#xff1a;操作符3&#xff1a;函数 命令行参数argv原码补码补码加法 Linux C 语法分析结构体指针类型函数宏定义其他 const语法整理 回车与换行 一.知其然 \n是换行&#x…

智能电表远程抄表系统原理

智能电表远程抄表系统是现代智能电网建设的重要组成部分&#xff0c;它利用物联网技术实现电表数据的远程采集、传输和处理&#xff0c;提高了电力公司的抄表效率&#xff0c;同时也为用户提供了更加便捷、准确的用电服务。本文将从远程智能电表抄表系统的工作原理、特点、应用…

KDE项目近日发布了KDE Frameworks 5.108

导读KDE项目近日发布了KDE Frameworks 5.108&#xff0c;作为这个开源软件套件的最新版本&#xff0c;它由80多个Qt附加库组成&#xff0c;为KDE Plasma桌面环境和KDE应用程序提供常用功能。 KDE Frameworks 5.108在这里修复了Plasma桌面崩溃的问题&#xff0c;该问题发生在用中…

Openlayers layer 基础及重点内容讲解

图层就像是含有文字或图形等元素的图片,一张张按顺序叠放在一起,组合起来形成页面的最终效果。 在 openlayers 中,图层是使用 layer 对象表示的,主要有 WebGLPoints Layer、热度图(HeatMap Layer)、图片图层(Image Layer)、切片图层(Tile Layer)和 矢量图层(Vector Layer…

ShardingSphere分库分表实战之水平分表

&#x1f680; ShardingSphere &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&…

科东软件入选“四化”赋能重点平台

科东软件Intewell工业嵌入式实时操作系统成功入选广州市“四化”赋能重点平台名单 2023年7月14日&#xff0c;广州市工业和信息化局公布广州市“四化”赋能重点平台名单&#xff08;第二批&#xff09;&#xff0c;科东软件凭借国产化技术创新优势、成熟的数字化转型方案&#…

与 AI 数智助理 Kyligence Copilot 携手,共同挖掘数据的无限潜能

Kyligence 用户大会近日在上海顺利召开&#xff0c;会上 Kyligence 重磅发布了 AI 数智助理 Kyligence Copilot&#xff08;预览版&#xff09;。生成式 AI&#xff08;Generative AI&#xff09;正带来人机交互方式的革命&#xff0c;并将改变人类使用数据的习惯&#xff0c;K…

MyBatis学习笔记——1

MyBatis学习笔记——1 一、MyBatis概述1.1、框架1.2、三层架构1.4、了解MyBatis1.4、ORM思想 二、MyBatis入门程序2.1、Mybatis程序的编写2.2、MyBatis入门程序的一些小细节2.3、MyBatis事务管理机制深度解析2.4、在开发中junit是如何使用的2.5、Mybatis集成日志框架logback 三…

3.9 Bootstrap 分页

文章目录 Bootstrap 分页分页&#xff08;Pagination&#xff09;默认的分页分页的状态分页的大小 翻页&#xff08;Pager&#xff09;默认的翻页对齐的链接翻页的状态 分页 Bootstrap 分页 本章将讲解 Bootstrap 支持的分页特性。分页&#xff08;Pagination&#xff09;&…

PADS VX2.5学习

1、关于库的定义 PADS中的元件库分为四个文件 &#xff1a;*.ld9 *.ln9 *.pd9 *.pt9 即CAE、 LINES、PCB DECAL、PART TYPE。只有这四个文件都存在才是一个完整的库&#xff0c;才可以加载。 我们设计的电路所用到的元件必须在PADS logic和PADS layout中都存在&#xff0c;…

【正点原子STM32连载】第六十五章 UCOSII实验3-消息队列、信号量集和软件定时器摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html# 第六…

【Linux系统编程】Linux调试器——gdb 的基本使用

文章目录 1. 准备工作及知识补充1.1 源文件和Makefile1.2 安装gdb并解决没有调式信息的问题debug和release的了解如何解决 2. gdb的基本使用2.1 显示代码2.2 设置、删除和查看断点2.3 禁用和启用断点2.4 逐语句和逐过程调式2.5 查看函数调用堆栈2.6 查看指定变量的值2.7 跳至指…

STM32学习笔记(十二)丨RTC实时时钟

本篇文章包含的内容 一、计算机底层计时系统——时间戳1.1 时间戳简介1.2 GMT/UTC1.3 C语言和time.h库 二、STM32的BKP和RTC时钟2.1 BKP&#xff08;Backup Registers&#xff09;备份寄存器2.2 RTC&#xff08;Real Time Clock&#xff09;实时时钟2.2.1 RTC简介2.2.2 RTC的内…

行业追踪,2023-07-18,减速器,汽车零部件是重点关注板块,随时开启

自动复盘 2023-07-18 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

PB从入坑到放弃(五)窗口使用技巧

PB从入坑到放弃&#xff08;五&#xff09;窗口使用技巧 一、窗口类型二、窗口属性2.1 General 属性页属性2.2 Scroll 属性页属性2.3 ToolBar 属性页属性2.4 Other 属性页中的属性 三、11种常用控件四、窗口事件4.1 常用事件4.2 举个栗子 五、窗口常用函数5.1 open 函数5.2 clo…

【力扣每日一题】2023.7.19 模拟行走机器人

题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 机器人模拟类题目,力扣里有很多这样的模拟题,就是模拟机器人在坐标系上行走. 套路就是记下每个方向行走后,x轴和y轴的变化&#xff08;代码中的direction&#xff09;,例如 direction[0] 就表示向北走一次,y轴1,x轴不变.…

防静电门禁闸机的设计和功能

防静电门禁闸机是一种用于控制人员出入的设备&#xff0c;主要用于对人员进行身份验证和进出控制。它的主要功能是防止静电干扰和未经授权的人员进入特定区域。 防静电门禁闸机一般包括以下几个方面的设计和功能&#xff1a; 1. 门禁系统&#xff1a;防静电门禁闸机通常集成了…

宝塔面板登陆不上去了,一直显示加载

宝塔面板登陆不上去了&#xff0c;一直显示加载 半天了登不上去&#xff0c;不知道这是怎么回事? 解答&#xff1a; 您好&#xff0c;服务器内执行bt 16命令先修复&#xff0c;然后重新访问看下。