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注入时设置《多例》的更多相关文章

  1. 7.28.1 Spring构造注入还是设置注入

    1. 构造方法注入代码如下:public UserManagerImpl(UserDao userDao) {                                              ...

  2. 从浏览器发送请求给SpringBoot后端时,是如何准确找到哪个接口的?(下篇)

    纸上得来终觉浅,绝知此事要躬行 注意: 本文 SpringBoot 版本为 2.5.2; JDK 版本 为 jdk 11. 前言: 前文:你了解SpringBoot启动时API相关信息是用什么数据结构 ...

  3. sql手工注入时的探测技巧汇总

    工具的灵活性肯定比不上人,在手工探测的基础上再去自定义工具,才是正道. sql注入时手工探测技巧 =================================================== ...

  4. sql注入时易被忽略的语法技巧以及二次注入

    那些容易被忽略.容易被弄错的地方 sql注入时的技巧 ========================================================================= ...

  5. 嗅探、中间人sql注入、反编译--例说桌面软件安全性问题

    嗅探.中间人sql注入.反编译--例说桌面软件安全性问题 今天这篇文章不准备讲太多理论,讲我最近遇到的一个案例.从技术上讲,这个例子没什么高深的,还有一点狗屎运的成分,但是它又足够典型,典型到我可以讲 ...

  6. listview当选中某一个item时设置背景色其他的不变

    listview当选中某一个item时设置背景色其他的不变: 可以使用listview.setOnFoucsChangeListener(listener) ; /** * listview获得焦点和 ...

  7. [转]Loadrunner11之VuGen运行时设置Run-Time Setting

    转自:http://www.51testing.com/html/92/450992-248065.html General 1.Run Logic运行逻辑 脚本如何运行的,每个action和acti ...

  8. LoadRunner 学习笔记(2)VuGen运行时设置Run-Time Setting

    定义:在Vugen中Run-Time Setting是用来设置脚本运行时所需要的相关选项

  9. AForge调用摄像头拍照时设置分辨率

    简单记录下AForge2.2.5.0版本调用摄像头拍照时设置分辨率的方法. FilterInfo info = _videoDevices[0];//获取第一个摄像头 _cameraDevice = ...

  10. loadrunner 运行场景-运行时设置

    运行场景-运行时设置 by:授客 QQ:1033553122 A.   查看.修改单个脚本的运行时设置 a)   途径1: Scenario Groups.Scenario Groups Script ...

随机推荐

  1. vue项目 nginx部署

    nginx.conf中的server配置片段 server { listen 8080 ;#默认端口是80,如果端口没被占用可以不用修改 server_name localhost; #charset ...

  2. Numpy 模块常用函数速查表

    序  号 方    法 说    明 1 array(object[, dtype, copy, order, subok, ndmin]) 创建一个数组 2 asarray(a[, dtype, o ...

  3. #分层图最短路,Dijkstra#洛谷 4568 [JLOI2011]飞行路线

    题目 一个无向图,每条边都有花费,可以有\(k\)次挑选边去除花费的机会,问从指定起点到指定终点的最小花费 分析 考虑用分层最短路完成,也就是在同一层走需要花费,不同层走不用花费,最终走到最底层,然后 ...

  4. 使用8086汇编驱动SHT11传感器

    前言:使用Proteus 7.8仿真软件实现8086接入SHT11温湿度传感器(实现读取温度数据部分功能),并学习如何在没有集成硬件控制下串行总线的驱动方式,汇编的精髓就是寄存器的操作.各种寻址方式. ...

  5. OpenHarmony定义组件重用样式:@Styles装饰器

      如果每个组件的样式都需要单独设置,在开发过程中会出现大量代码在进行重复样式设置,虽然可以复制粘贴,但为了代码简洁性和后续方便维护,我们推出了可以提炼公共样式进行复用的装饰器@Styles. @St ...

  6. 从入门到精通:C++ 学习路线指南,附详细学习计划

    C++是一种高级编程语言,广泛用于开发操作系统.应用程序.游戏和各种工具.如果你想学习这门语言,以下是一个适合初学者的学习路线: 第一步:学习C++基础知识 在学习C++之前,你需要掌握一些基础知识, ...

  7. Matplotlib绘图设置---图形颜色和风格调整

    绘图函数 plt.plot()函数可以通过相应的参数设置绘图风格. plt.plot(*args, scalex=True, scaley=True, data=None, **kwargs) Doc ...

  8. Websphere更新应用文件

    说明: 由于war包中存在安全漏洞或者需要变更里面的某个jar包,此处列举了两种更新方法,不需要重启服务器,只需重启应用. Websphere对部署好的应用更新jar包方法如下:   方式一.手动替换 ...

  9. 千字干货分享:一文教你ABI增强分析,BI的未来就在这里!

    自2017年以来,智能概念开始出现,各类商业智能BI应用的使用门槛逐渐降低,商业智能BI制造商主要竞争增强分析的能力.<2020年Gartner分析与BI平台魔法象限报告>指出,2020年 ...

  10. 有奖活动 | 以代码之名,写出对Ta的爱

      七夕情人节到了,为了Ta, 你打算用什么方式表达爱? 是包包.鲜花.美酒.巧克力, 还是一封充满爱意的短信? 在HarmonyOS,有一群精致又机智的开发者们,他们#以代码之名,表达爱# 比起鲜花 ...