spring-210724-09--IOC容器--Bean管理-作用域(设置单&多实例)

spring-210730-03---Spring5新功能-Webflux-响应式编程-Reactor实现&操作符 spring-210730-03—Spring5新功能-Webflux-响应式编程-Reactor实现&操作符 Reactor有两个核心类,Mono和Flux 操作符 Reactor演示 引入依赖 TestReactor.java Reactor有两个核心类,Mono和Flux 响应式编程操作中,Reactor是满足Reactive规范框架。 Reactor有两个核心类,Mono和Flux,这两个类实现了接口Publisher,提供了丰富的操作符。 1) Flux对 阅读详情

spring-210724-09–IOC容器–Bean管理-作用域(设置单&多实例)


scope概念

在Spring 中配置文件bean标签里面有一个属性(scope)用于设置单实例,还是多实例

scope属性:
	singleton:默认值,表示单实例对象
	prototype:表示多实例对象
singleton和prototype的区别:
	设置singleton:
		加载spring配置文件的时候就会创建单实例对象。
	设置prototype:
		不是在加载spring文件的时候创建对象,而是在调用getBean方法的时候创建多实例对象。

Courses.java

package com.bgy.spring.collectiontype;

// 学科
public class Courses {
    private String cname;

    public void setCname(String cname) {
        this.cname = cname;
    }
}

scopebean.xml(设置scope)

<?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">

    <!-- 
		单实例 
		scope="singleton"
	-->
    <bean id="courses_singleton" class="com.bgy.spring.collectiontype.Courses" scope="singleton"></bean>

    <!-- 
		多实例 
		scope="prototype"
	-->
    <bean id="courses_prototype" class="com.bgy.spring.collectiontype.Courses" scope="prototype"></bean>
</beans>

TestScope.java

import com.bgy.spring.collectiontype.Courses;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestScope {

    /**
     * 测试单实例
     * singleton
     * 两个对象的地址一样
     */
    @Test
    public void testSingleton01(){
        // 1. 加载spring配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("scopebean.xml");
        // 2. 从配置文件创建对象
        Courses courses_singleton01 = context.getBean("courses_singleton", Courses.class);
        Courses courses_singleton02 = context.getBean("courses_singleton", Courses.class);

        System.out.println(courses_singleton01);    // com.bgy.spring.collectiontype.Courses@436e852b
        System.out.println(courses_singleton02);    // com.bgy.spring.collectiontype.Courses@436e852b
    }


    /**
     * 测试多实例
     * prototype
     * 两个对象的地址不同
     */
    @Test
    public void testSingleton02(){
        // 1. 加载spring配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("scopebean.xml");
        // 2. 从配置文件创建对象
        Courses courses_singleton01 = context.getBean("courses_prototype", Courses.class);
        Courses courses_singleton02 = context.getBean("courses_prototype", Courses.class);

        System.out.println(courses_singleton01);    // com.bgy.spring.collectiontype.Courses@436e852b
        System.out.println(courses_singleton02);    // com.bgy.spring.collectiontype.Courses@32d2fa64
    }
}
spring-210729-03---Spring5新功能-整合JUnit5单元测试 spring-210729-03—Spring5新功能-整合JUnit5单元测试 测试Junit4 测试Junit5 Spring5支持整合JUnit5 第一步:引入Spring相关的依赖 第二步:创建测试类,使用注解方式完成 测试Junit4 TestJunit4.java import com.bgy.spring.service.UserService02; import org.junit.Test; import org.junit.runner.RunWith; import o 阅读详情

相关推荐

银河麒麟arm64 V10 SP1桌面系统高效部署onnxruntime推理环境实战

本文详细介绍了在银河麒麟arm64 V10 SP1桌面系统上高效部署onnxruntime推理环境的完整实战流程。从系统环境准备、关键依赖安装,到onnxruntime的安装验证,并以YOLOv5模型部署为例进行性能对比分析,提供了在国产化飞腾D2000平台上进行AI边缘推理的实用指南和避坑技巧。

ss78901的博客 636

Spring IOC 容器中单例和多例的介绍

IOC默认使用单例模式创建Bean,默认在spring容器启动时会自动创建对象。使用多例模式,在容器启动时不会创建bean,而在使用bean时才会去创建。

m0_68322975的博客 731

用51单片机和LD3320语音模块DIY一个会说话的温度报警器(附完整代码)

本文详细介绍了如何使用51单片机和LD3320语音模块DIY一个智能温度报警器,包括硬件选型、电路设计、软件开发及核心功能实现。通过DS18B20温度传感器和语音模块的结合,实现温度超标时的语音报警功能,适合智能家居系统等应用场景。附完整代码,方便开发者快速复现。

weixin_42525632的博客 420

Spring之IOC和单例、多例

文章目录spring之IOC搭建spring框架的过程:第一步第二步第三步spring的对象声明spring中单例与多例第一种方法第二种方法 spring之IOC 什么是IOC? IOC:控制反转,将对象的创建、销毁、初始化等一系列的生命周期的过程交给spring容器来处理 搭建spring框架的过程: 第一步 新建一个Java Project,并建立一个lib文件夹,然后导入spring的...

张议的博客 4329

BLHeli_S电调刷Bluejay固件实战:解锁双向DShot与RPM滤波全攻略

本文详细介绍了如何为BLHeli_S电调刷写开源Bluejay固件,以解锁双向DShot协议与RPM滤波等关键功能。内容涵盖硬件兼容性检查、固件刷写全流程、双向DShot启用与OSD报错解决方案,并对48kHz与96kHz PWM频率的选择提供了实战建议,帮助穿越机玩家在不更换硬件的前提下显著提升飞行性能与操控体验。

weixin_29188997的博客 512

二次开发vba_CATIA VBA(VBS)二次开发:使用Search批量选择元素

在CATIA二次开发中很多在程序中进行自动交互的方法或函数都需要使用选择集作为参数,将几何元素按照要求批量添加到选择集中也是实现程序自动运行的有效方法。在前面的文章《CATIA使用VBA(VBS)二次开发时用户的交互选择》和《CATIA使用VBA(VBS)二次开发时工程图和草图位置的交互选择函数Indicate2D》中介绍了在CATIA VBA(VBS)二次开发中用户和选择集之间的交互操...

weixin_32497403的博客 1321

spring学习:IOC容器:单实例和多实例

spring学习:IOC容器:单实例和多实例 https://blog.youkuaiyun.com/m0_38125704/article/details/93417038

weixin_43765973的博客 563

Xilinx/AMD公司7系列FPGA的ISERDESE2仿真的”天坑”(附verilog的源码vivado仿真工程)

研究LVDS输出接口的ADC与7系列(ZYNQ)FPGA对接过程中,在Vivado中搭建了ISERDESE2的仿真工程,仿真结果ISERDESE2的并行输出口一直输出X或Z,这个坑之大,耗费了我数天的时间,可以称为“天坑”了。同步复位的要求肯定是高于异步复位的,古话说得好“两害相权取其轻”,所以,跟古话对着干就对了!就当RST是同步复位吧,最后经过反复验证,发现。开始怀疑复位信号是否高电平持续时间不够长?但是没有查到复位时间的要求 : - (

FPGA艺术家的博客 171

Spring:IOC中对象的多例和单例

验证bean工厂创建的是否是单例对象,简述IOC生成单实例对象和多实例对象的方法

SirouW的博客 1674

上位机图像处理和嵌入式模块部署(开篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 图像处理是现实生活当中很实用的一门技术。工业上一般采用的是机器视觉,以传统算法和光源控制为主,部分采用了深度学习技术。而生活当中,则主要以二维码识别、人脸识别、车牌识别和ocr识别为主,这中间深度学习与AI扮演了很重要的角色。过去,市场上的商业收费软件,主要还是以传统设备厂商提供的上位机软件为主,那这一部分是不是结合最新的npu技术,应该做出一些新的东西出来呢?

嵌入式-老费,一个分享专业嵌入式知识的blog 1335

专栏二十:如何选择你的单细胞亚群的分辨率--ROGUE

ROGUE这是继chooseR后第二个计算单细胞亚群分辨率的内容,其实关于代码的运行很简单,网上已经有不少教程,重复这些就没意思了,这里主要是结合探讨一下这个算法。

m0_58549466的博客 981

Spring学习总结(一)——Spring实现IoC的多种方式

一、Spring框架概述 Spring是一个开源免费的框架,为了解决企业应用开发的复杂性而创建。Spring框架是一个轻量级的解决方案,可以一站式地构建企业级应用。Spring是模块化的,所以可以只使用其中需要的部分。可以在任何web框架上使用控制反转(IoC),也可以只使用Hibernate集成代码或JDBC抽象层。它支持声明式事务管理、通过RMI或web服务实现远程访问,并可以使用多种方式持...

风不止步的博客 1065

Vue 前端导出页面A4大小pdf,Vue前端导出pdf自动切割换页不切割内容 Vue导出页面pdf自动分页和添加页码 导出的pdf提高清晰度

【代码】Vue 前端导出页面A4大小pdf,Vue前端导出pdf自动切割换页不切割内容 Vue导出页面pdf自动分页和添加页码 导出的pdf提高清晰度。

weixin_41346436的博客 1798

SpringIOC的创建对象的单例模式和多例模式

SpringIOC创建对象的单例模式和多例模式 单例模式(默认): 设置了单例模式的bean,会在Spring容器对象被创建的时候就完成初始化创建,无论获取多少次都是同一个对象。 多例模式: 设置了多例模式的bean,在Spring容器对象被创建的时候不会被初始化创建,每次获取的时候都会重新创建,每次获取的对象都不相同。 ...

weixin_44764207的博客 845

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

spring ioc 单例 和多例模式学习

spring ioc中默认为单例,当scope设置为prototype的时为多例,设置为多例时,对象的创建时发生改变,无论lazy-init为什么值,都是在context.getBean();时创建对象多例模式例子:package zju_001.maven_test_1; import org.springframework.context.ApplicationContext; impor...

var1994的博客 3741

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

spring-210728-02---AOP-AspectJ注解-抽取相同切入点&设置优先级

spring-210728-02—AOP-AspectJ注解-抽取相同切入点&amp;设置优先级 相同切入点抽取 UserProxy02.java 多个增强类,同一个方法进行增强,设置增强类优先级 演示 Person.java PersonProxy01.java PersonProxy02.java bean01.xml TestPerson.java 相同切入点抽取 UserProxy02.java package com.bgy.spring.aoptest; import org

白光一的博客 571

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

spring-210730-02---Spring5新功能-Webflux-响应式编程-Java实现

spring-210730-02—Spring5新功能-Webflux-响应式编程-Java实现 什么是响应式编程 观察者模式(演示) ObserverTest.java 尚硅谷视频给的例子 Flow.java Main.java 什么是响应式编程 什么是响应式编程: 简称RP(Reactive Programming) 响应式编程是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流, 而相关的计算模型会自动将变化的值通过数据流进行传播。 例

白光一的博客 404

spring-210728-03---JdbcTemplate操作数据库-查询功能

spring-210728-03—JdbcTemplate操作数据库-查询功能 演示 UserDao.java(dao层接口) UserDaoImpl.java(这里实现DQL操作) UserService.java(这里调用dao) TestUser01.java(测试) bean01.xml(Spring配置文件) User.java(实体类) 演示 UserDao02.java(dao层接口) package com.bgy.spring.dao; import com.bgy.spring.e

白光一的博客 369

spring-210724-04--IOC容器--Bean管理XML方式-注入空值和特殊符号

spring-210724-04–IOC容器–Bean管理XML方式-注入空值和特殊符号 beantest21072401.xml(笔记在注释中哦) TestBean21072401.java beantest21072401.xml(笔记在注释中哦) &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="h

白光一的博客 319

spring-210724-01--IOC容器--Bean管理XML方式-创建对象和set注入属性

spring-210724-01–IOC容器–Bean管理XML方式-创建对象和set注入属性 IOC操作Bean管理(概念) IOC操作Bean管理(基于xml方式) 基于xml方式创建对象 基于xml方式注入属性 set方法注入步骤 测试代码 Book.java bean1.xml TestSpring5.java IOC操作Bean管理(概念) 1. Bean管理就是指两个操作 1)Spring创建对象 2)Spring注入属性 2. Bean管理操作 1)基于xml配置

白光一的博客 313

spring-210729-02---Spring5新功能-Nullable注解&函数式注册对象

spring-210729-02—Spring5新功能-Nullable注解&amp;函数式注册对象 演示支持函数式风格 User.java TestUser04.java Spring5框架核心容器支持@Nullable注解 @Nullable可以使用在方法、属性、参数上面, 表示方法返回值可以为空、属性值可以为空、参数值可以为空 Spring5框架核心容器支持函数式风格GenericApplicationContext/AnnotationConfigApplicationContext

白光一的博客 293

spring-210727-06--IOC容器--Bean管理注解方式-注入属性@Resource&@Value

spring-210727-06–IOC容器–Bean管理注解方式-注入属性@Resource&amp;@Value 演示@Resource UserDao03.java(@Resource) UserDaoImpl03.java(@Resource) UserService03.java(@Resource) UserService04(@Value) userbean.xml TestUser03.java @Autowired: 根据属性类型进行自动注入 @Qualifier: 根据属性名称进行

白光一的博客 278

spring-210730-01---Spring5新功能-Webflux-基本概念

spring-210730-01—Spring5新功能-Webflux-基本概念 SpringWebFlux介绍 异步非阻塞解释 WebFlux特点 比较SpringMVC SpringWebFlux介绍 WebFlux官方文档说明地址: https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html SpringWebFlux介绍: 1)是Spring5中新添加的模块,用于web开发,功

白光一的博客 248

spring-210724-08--IOC容器--Bean管理-工厂bean

spring-210724-08–IOC容器–Bean管理-工厂bean 工厂bean(FactoryBean) MyFactoryBean.java(实现FactoryBean接口) myfactorybean.xml TestFactoryBean.java 工厂bean(FactoryBean) Spring 中有两种类型的bean,一种是普通bean,一种是工厂bean(FactoryBean) 普通bean: 配置文件中定义bean的类型就是返回类型。 工厂bean: 在配置文件中定义

白光一的博客 231

spring-210729-01---Spring5新功能-整合日志框架

spring-210729-01—Spring5新功能-整合日志框架 log4j2.xml 日志手动输出 Spring5新功能特性地址:https://www.cntofu.com/book/95/33-what-new-in-the-spring-framework.md 特点: 整个Spring5框架基于Java8, 运行时兼容JDK9, 许多不建议使用的类和方法在代码库中删除 Spring 5.0框架自带了通用的日志封装 Spring5已经移除了Log4jConfigListe

白光一的博客 225
上一篇: spring-210724-08--IOC容器--Bean管理-工厂bean
下一篇: spring-210724-10--IOC容器--Bean管理-bean的声明周期
白光一
博客等级 码龄9年 0粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值