首页 > 其他分享 >SpringBoot注入时设置《多例》

SpringBoot注入时设置《多例》

时间:2023-11-23 10:15:56浏览次数:34  
标签:SpringBoot 多例 spring ISpringMultiton import hashCode public 注入

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结果:
    image

  • 内存结果:
    image

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结果:
    image

  • 内存结果:
    image

标签:SpringBoot,多例,spring,ISpringMultiton,import,hashCode,public,注入
From: https://www.cnblogs.com/kakarotto-chen/p/17850928.html

相关文章

  • Springboot全局异常处理
    自定义异常枚举类枚举类用于定义自定义的异常类型,对应自定义错误码,错误信息,状态码publicenumErrorCodeEnum{USERINFO_EXCEPTION(10001,HttpStatus.INTERNAL_SERVER_ERROR,"UserInfoException"),AUTHORIZATION_EXCEPTION(10002,HttpStatus.UNAUTHORIZED,"Authoriza......
  • 使用SpringBoot实现文件的上传
    使用SpringBoot实现文件的上传springboot可以直接使用org.springframework.web.multipart.MultipartFile所以非常容易实现一、首先是简单的单文件上传先在index.html页面下写一个简单的form表单<h1>单文件</h1><formclass="form-signin"th:action="@{/SingleFile/upload}"......
  • springboot如何监控各种指标?
    以springboot2.7.17为例: 1:新增如下依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency> 然后,在你的配置文件(如 application.properties)中添加以下配......
  • springboot tomcat连接数监控
     直接问文心一言:  ......
  • Java模版引擎注入(SSTI)漏洞研究
    一、FreeMarker模板注入安全风险0x1:FreeMarker简介FreeMarker是一款Java语言编写的模板引擎,它是一种基于模板和程序动态生成的数据,动态生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组......
  • SSTI模版注入
    SSTI模版注入模板引擎模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,利用模板引擎来生成前端的html代码,模板引擎会提供一套生成html代码的程序,然后只需要获取用户的数据,然后放到渲染函数里,然后生成模板+用户数据的......
  • [转]IoC控制反转DI依赖注入概念的理解
    1.通俗的解释,便于理解,适合于初学者,相对与定义不是很准确原文地址: SpringIoC有什么好处呢?-知乎作者:Mingqi链接:https://www.zhihu.com/question/23277575/answer/169698662来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要了解控制反转......
  • springboot去除内嵌tomcat
    springboot去除内嵌tomcat步骤在pom文件中加入以下代码点击查看代码<!--多模块排除内置tomcat--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> ......
  • SpringBoot + Vue实现分页查询
    后端在controller层修改SpringBoot自带分页查询方法,只需要修改关键代码就可以@GetMapping("/findAll/{page}/{size}")//获取url输入的页码publicPage<Users>findAll(@PathVariable("page")intpage,@PathVariable("size")intsize){//将页码取到方法内P......
  • 基于springboot的校园失物招领系统-计算机毕业设计源码+LW文档
    校园失物招领系统介绍在现代大学校园中,失物招领系统是一个至关重要的组成部分,旨在为学生、教职员工和访客提供便捷的失物招领服务。本文将介绍一个基于SpringBoot的校园失物招领系统,该系统结合了现代技术和用户友好的界面,提供了高效、安全和快速的失物招领流程。系统架构该系统采......