SpringBoot注入时设置《多例》
SpringBoot设置多例
1、准备数据
- 测试接口
package com.cc.jschdemo.springmultiton;
/**
* <p>spring多例测试</p>
*
* @author --
* @since 2023/11/23
*/
public interface ISpringMultiton {
}
- 测试接口实现(注入spring)
package com.cc.jschdemo.springmultiton;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
* <p></p>
*
* @author --
* @since 2023/11/23
*/
@Component
public class SpringMultitonImpl implements ISpringMultiton{
}
2、默认单例测试
@Resource
private ISpringMultiton springMultiton;
//默认是单例的
@Test
public void test04()throws Exception{
int i = springMultiton.hashCode();
System.out.println("第一次使用的地址:" + i);
int i1 = springMultiton.hashCode();
System.out.println("第二次使用的地址:" + i1);
}
hashCode结果:

内存结果:

3、☆☆实现多例☆☆
- spring注入默认单例,要实现多例,必须配置
3.1、测试接口实现(注入spring)加上:@Scope("prototype")
package com.cc.jschdemo.springmultiton;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
* <p></p>
*
* @author --
* @since 2023/11/23
*/
@Component
@Scope("prototype")
public class SpringMultitonImpl implements ISpringMultiton{
}
3.2、注入时使用:ObjectProvider
@Resource
private ObjectProvider<ISpringMultiton> objectProvider;
@Test
public void test05()throws Exception{
//这里的objectProvider.getObject()获取出来的,就相当于spring注入的ISpringMultiton
ISpringMultiton springMultiton1 = objectProvider.getObject();
int i = springMultiton1.hashCode();
System.out.println("第一次使用的地址:" + i);
ISpringMultiton springMultiton2 = objectProvider.getObject();
int i1 = springMultiton2.hashCode();
System.out.println("第二次使用的地址:" + i1);
}
hashCode结果:

内存结果:

SpringBoot注入时设置《多例》的更多相关文章
- 7.28.1 Spring构造注入还是设置注入
1. 构造方法注入代码如下:public UserManagerImpl(UserDao userDao) { ...
- 从浏览器发送请求给SpringBoot后端时,是如何准确找到哪个接口的?(下篇)
纸上得来终觉浅,绝知此事要躬行 注意: 本文 SpringBoot 版本为 2.5.2; JDK 版本 为 jdk 11. 前言: 前文:你了解SpringBoot启动时API相关信息是用什么数据结构 ...
- sql手工注入时的探测技巧汇总
工具的灵活性肯定比不上人,在手工探测的基础上再去自定义工具,才是正道. sql注入时手工探测技巧 =================================================== ...
- sql注入时易被忽略的语法技巧以及二次注入
那些容易被忽略.容易被弄错的地方 sql注入时的技巧 ========================================================================= ...
- 嗅探、中间人sql注入、反编译--例说桌面软件安全性问题
嗅探.中间人sql注入.反编译--例说桌面软件安全性问题 今天这篇文章不准备讲太多理论,讲我最近遇到的一个案例.从技术上讲,这个例子没什么高深的,还有一点狗屎运的成分,但是它又足够典型,典型到我可以讲 ...
- listview当选中某一个item时设置背景色其他的不变
listview当选中某一个item时设置背景色其他的不变: 可以使用listview.setOnFoucsChangeListener(listener) ; /** * listview获得焦点和 ...
- [转]Loadrunner11之VuGen运行时设置Run-Time Setting
转自:http://www.51testing.com/html/92/450992-248065.html General 1.Run Logic运行逻辑 脚本如何运行的,每个action和acti ...
- LoadRunner 学习笔记(2)VuGen运行时设置Run-Time Setting
定义:在Vugen中Run-Time Setting是用来设置脚本运行时所需要的相关选项
- AForge调用摄像头拍照时设置分辨率
简单记录下AForge2.2.5.0版本调用摄像头拍照时设置分辨率的方法. FilterInfo info = _videoDevices[0];//获取第一个摄像头 _cameraDevice = ...
- loadrunner 运行场景-运行时设置
运行场景-运行时设置 by:授客 QQ:1033553122 A. 查看.修改单个脚本的运行时设置 a) 途径1: Scenario Groups.Scenario Groups Script ...
随机推荐
- 关于使用SSM+JSP开发时setter、getter隐式调用问题的小结
[版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/17977495 出自[进步*于辰的博客] 之前使用SSM ...
- 超越极限!80Gbps高速传输,让您的数据瞬间飞速传递
大文件传输是很多企业面临的挑战之一.基于传统的文件传输方法,由于许多原因,例如网络拥塞.数据包丢失.传播延迟等,导致文件的传输速度较慢.不稳定或不安全.尤其是对于像科研机构.金融公司和媒体制作公司等需 ...
- 关于FTP文件传输协议说明,带你了解更详情的文件传输协议
Internet和其他网络上的人与设备之间的通信使用协议进行.您可以说协议定义了对话规则:谁必须在何时发送哪些信息?如果数据没有到达接收者,会发生什么?您如何保护转帐免受错误和犯规?每当我们使用Int ...
- KingbaseES V8R6集群运维案例之---主备failover切换原因分析
案例说明: 生产环境,KingbaseES V8R6的集群发生failover切换,分析集群切换的原因. 适用版本: KingbaseES V8R6 集群架构: 137.xx.xx.67主 原备库 1 ...
- KingbaseES V8R3 集群运维案例 -- cluster.log无日志输出问题诊断
案例说明: KingbaseES V8R3集群正常运行期间,现场发现cluster.log日志无任何信息输出,针对这一问题做了复现及提出解决方案.后现场检查发现,cluster.log文件曾被删除: ...
- 服创杯 【A15】智能信号灯-交通流疏导控制系统【融创软通】数据流图
- C++一些例子
虚析构 #include<iostream> class Base { public: Base() { std::cout << "base 构造" &l ...
- npm/cnpm 设置镜像地址
npm 查看当前镜像源: npm config get registry # https://registry.npmjs.org/ 修改当前镜像源: npm config set registry ...
- 2024最新AIGC系统ChatGPT网站源码,GPTs应用,Ai绘画网站源码
一.前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型+国内AI全模型.本期针对源码系统整体测试下来非常完美,那么 ...
- Jetty的ssl模块
启用ssl模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=ssl 命令的输出,如下: INFO : ssl initialized i ...