基于Xml方式的Bean的配置-Bean的作用范围scope配置

news2024/11/20 3:37:37

SpringBean的配置详解

  • Bean的配置范围
    • 默认情况下(基本的Spring环境),单纯Spring环境Bean的作用范围有两个:Singleton和prototype
    • singleton:单例,默认值,Spring容器创建的时候,就会进行Bean的实例化,并储存到Bean的内部的单例池中,每次getBean时都是从单例池中获取相同的Bean实例
    • prototype:原型,Spring容器初始化时不会创建Bena实例,当调用getBean时才会实例化Bean,每次getBean都会创建一个新的Bean实例
  • 当scope=singleton时
    •     <bean id="userService" class="com.example.Service.Impl.UserServiceImpl" scope="singleton">
      
    •         ApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
              Object userService1 = context.getBean("userService");
              Object userService2 = context.getBean("userService");
              Object userService3 = context.getBean("userService");
              System.out.println(userService1);
              System.out.println(userService2);
              System.out.println(userService3);
    • 运行结果如下:


      •  

  • 当scope=prototype时

    •     <bean id="userService" name="aaa,bbb" class="com.example.Service.Impl.UserServiceImpl" scope="prototype">
      
    •         ApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
              Object userService1 = context.getBean("userService");
              Object userService2 = context.getBean("userService");
              Object userService3 = context.getBean("userService");
              System.out.println(userService1);
              System.out.println(userService2);
              System.out.println(userService3);
    • 运行结果

PS:如果添加了SpringWebMVC依赖,scope的值就有多个

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.7</version>
        </dependency>

 

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

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

相关文章

【VS Code】根据时间和文件名查看增删改的历史记录

我的 VS Code 已设置为自动保存。 左下角这个 TIMELINE 里面记录着我们使用 VS Code 操作各文件的历史记录。 打开 Local History 可以根据时间和文件名查看增删改的历史记录&#xff0c;比如&#xff1a; 然后我们根据时间和文件名&#xff0c;打开一个文件&#xff1a; 即可…

讲座1:影像重建_脑疾病_大脑解码

视频来源&#xff1a;https://www.bilibili.com/video/BV11K4y1979o/?spm_id_from333.999.0.0&vd_source897075bbdd61e45006d749612d05a2ab 文章目录 Image Reconstruction and SegmentationMR Image ReconstructionBrain ROI Segmentation Brain Disease --- Alzheimers…

嵌入式开源组件——LwRB(RingBuffer)的移植和应用

说明&#xff1a;记录自己学习的过程&#xff0c;如有理解上的错误或者不恰当的地方请原谅。 一、简介 LwRB 是一个针对嵌入式系统优化的通用FIFO&#xff08;先进先出&#xff09;缓冲区库&#xff0c;之前的名称叫做RingBuffe &#xff0c;不知道作者在V2.0.0版本时&…

C++11线程库简介

前言 在c11之前涉及多线程的问题都是和平台相关的&#xff0c;比如windows和linux都有一套自己的接口&#xff0c;这使得代码的可移植性变差。C11中最重要的特性就是对线程进行了支持&#xff0c;使得C在编程时不再依赖第三方库&#xff0c;而且原子操作中还引入了原子类的概念…

消息队列(六):服务器设计

紧接着上一章没说完的进行服务器的补充。 推送给消费者消息的基本实现思路 让 brokerServer 把哪些消费者管理好收到对应的消息&#xff0c;把消息推送给消费者 消费者是以队列为维度来订阅消息的&#xff0c;一个队列可以有多个消费者&#xff08;此处我们约定按照轮询的方…

HTTP协议(超级详细)

HTTP协议介绍 基本介绍&#xff1a; HTTP&#xff1a;超文本传输协议&#xff0c;是从万维网服务器传输超文本到本地浏览器的传送协议HTTP是一种应用层协议&#xff0c;是基于TCP/IP通信协议来传送数据的&#xff0c;其中 HTTP1.0、HTTP1.1、HTTP2.0 均为 TCP 实现&#xff0…

激光焊接汽车PP塑料配件透光率测试仪

随着汽车主机厂对车辆轻量化的需求越来越强烈&#xff0c;汽车零部件轻量化设计、制造也成为汽车零部件生产厂商的重要技术指标。零部件企业要实现产品的轻量化&#xff0c;在材料指定的情况下&#xff0c;要通过产品设计优化、产品壁厚减小和装配方式的优化来解决。使用PP材料…

React 把useState变成响应式 ,今天又可以早点下班了

Ⅰ、前言 我们知道 React 中 , 要想修改 「状态」 > 必须要「state &#xff0c; setState」 useState() 中「setState」 去修改 > 「state」那么如果用 Proxy > 去改造 useState&#xff0c;那么 「摸鱼的时间」又增加啦 &#xff1f; Ⅱ、proxy 改造 useState 首…

数据结构与算法之Floyd算法-最短路径问题

Floyd算法-最短路径问题 Floyd算法-最短路径问题算法结束算法思想算法效率分析 Floyd算法-最短路径问题 算法结束 Floyd算法&#xff1a;求出每一对顶点之间的最短路径 核心&#xff1a;使用动态规划思想&#xff0c;将问题的求解分为多个阶段&#xff1a; 对于n个顶点的图…

数据结构---绪论

&#x1f31e;欢迎来到数据结构的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f4c6;首发时间&#xff1a;&#x1f339;2023年9月17日&…

HTTP代理反爬虫技术详解

HTTP代理是一种网络技术&#xff0c;它可以将客户端的请求转发到目标服务器&#xff0c;并将服务器的响应返回给客户端。在网络安全领域中&#xff0c;HTTP代理经常被用来反爬虫&#xff0c;以保护网站的正常运营。 HTTP代理反爬虫的原理是通过限制访问者的IP地址、访问频率、U…

typeScript 类型推论

什么是类型推论&#xff1f; 类型推论是 TypeScript 中的一个特性&#xff0c;它允许开发人员不必显式地指定变量的类型。相反&#xff0c;开发人员可以根据变量的使用情况让 TypeScript 编译器自动推断出类型。例如&#xff0c;如果开发人员将一个字符串赋值给一个变量&#…

【自然语言处理】【大模型】RWKV:基于RNN的LLM

相关博客 【自然语言处理】【大模型】RWKV&#xff1a;基于RNN的LLM 【自然语言处理】【大模型】CodeGen&#xff1a;一个用于多轮程序合成的代码大语言模型 【自然语言处理】【大模型】CodeGeeX&#xff1a;用于代码生成的多语言预训练模型 【自然语言处理】【大模型】LaMDA&a…

MySQL数据库详解 三:索引、事务和存储引擎

文章目录 1. 索引1.1 索引的概念1.2 索引的作用1.3 如何实现索引1.4 索引的缺点1.5 建立索引的原则依据1.6 索引的分类和创建1.6.1 普通索引1.6.2 唯一索引1.6.3 主键索引1.6.4 组合索引1.6.5 全文索引 1.7 查看索引1.8 删除索引 2. 事务2.1 事务的概念2.2 事务的ACID特性2.2.1…

Java 高频疑难问题系列一

​​​​​​​ 目录 ​编辑​​​​​​​ 1.零长度 2.redis的有序集的排序 3.Unsafe类 4.带资源的try语句 5.Spring如何实现计划任务 6.Java中普通代码块,构造代码块,静态代码块执行顺序 7.MyBatis缓存机制 8.Redis Java 2种类型操作转换 9.CAS底层原理和问题 1…

【数据分享】2006-2021年我国城市级别的市容环境卫生相关指标(20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况&#xff0c;在之前的文章中&#xff0c;我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国城市级别的市政设施水平相关指标、2006-2021年我国城市级别的各类建设用地面积数…

【pytorch】模型常用函数(conv2d、linear、loss、maxpooling等)

1、二维卷积函数——cnv2d(): in_channels (int): 输入通道数 out_channels (int): 输出通道数 kernel_size (int or tuple): 卷积核大小 stride (int or tuple, optional): 步长 Default: 1 padding (int, tuple or str, optional): 填充 Default: 0 padding_mode (str, optio…

计算机是如何工作的下篇

操作系统&#xff08;Operating System ) 操作系统是一组做计算机资源管理的软件的统称。目前常见的操作系统有&#xff1a;Windows系列、Unix系列、Linux系列、OSX系列、Android系列、iOS系列、鸿蒙等. 操作系统由两个基本功能&#xff1a; 对下,要管理硬件设备. 对上,要给…

数据标注赋能机器学习进行内容审核

数据标注一直以来都是人工智能的基础&#xff0c;是机器学习得以训练的不可或缺的步骤。随着互联网的兴起&#xff0c;如何创建和维护一个健康的网络环境将成为互联网平台不断解决的问题&#xff0c;但对于与日俱增的用户增长和铺天盖地的网络信息&#xff0c;人工审核内容变得…

【牛客网】BC146 添加逗号

一.题目描述 牛客网题目链接:添加逗号_牛客题霸_牛客网 描述: 对于一个较大的整数 N(1<N<2,000,000,000) 比如 980364535&#xff0c;我们常常需要一位一位数这个数字是几位数&#xff0c;但是如果在这 个数字每三位加一个逗号&#xff0c;它会变得更加易于朗读。 因此&a…