spring中bean的作用域(代码片段)

时间沉淀美好 时间沉淀美好     2022-12-12     254

关键词:

1:和变量一样,bean也有作用域,spring中我们可以为bean指定作用域:<bean id="" class=""  scope="....">


2:作用域的种类

singleton:单例模式,在spring中只有一个实例,无论多少个Bean引用,始终都会指向同一个对象。这也是spring默认的作用域。

prototype:原型模式,spring容器会为每一个引用创建一个新实例。

request:每一个HTTP请求都会创建一个新的bean,但仅仅在当前的request中有效。

session:每一个HTTP Session都会创建一个新的bean,但仅仅在当前HTTP Session中有效。

global Session:在一个全局的HTTP Session中,容器会创建实例,但仅仅在当前范围有效。


实际开发中,单例和原型用的比较多。



3:演示单例模式作用域


bean定义

public class TopicService 

	public void addTopic()
	
		System.out.println("add topic");
	

xml配置bean

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

	<!-- 生产任意内容 -->
	<bean id="topServiceID" class="com.canyugan.scope.TopicService"></bean>
	
</beans>

测试单例模式下是否引用的是同一个实例:

@Test
	public  void demo1()
	 
		String xmlpath="com/canyugan/scope/beans.xml";
		ApplicationContext applicationContext=new ClassPathXmlApplicationContext(xmlpath);
		
		TopicService topicService1=applicationContext.getBean("topServiceID",TopicService.class);
		System.out.println(topicService1);
		TopicService topicService2=applicationContext.getBean("topServiceID",TopicService.class);
		System.out.println(topicService2);
	

结果如下:

com.canyugan.scope.TopicService@1d3d550b
com.canyugan.scope.TopicService@1d3d550b


由此证明了我们的结论。



spring--bean作用域(代码片段)

 Spring框架功能强大,其中一个常用的功能是使用IOC容器来管理Bean,在创建Bean的过程中,主要有5中作用域,下面就来介绍一下每一个作用域的特点和作用。 1、Singleton:设置为该模式的Bean,容器初始化时... 查看详情

详解spring中bean的作用域与生命周期(代码片段)

摘要:在利用Spring进行IOC配置时,关于bean的配置和使用一直都是比较重要的一部分,同时如何合理的使用和创建bean对象,也是小伙伴们在学习和使用Spring时需要注意的部分,所以这一篇文章我就来和大家讲一... 查看详情

spring框架学习----bean作用域(代码片段)

文章目录Spring框架学习(六)----Bean作用域一、singleton(单例模式)二、protoType(原型模式)Spring框架学习(六)----Bean作用域  经过前面的学习,我们可以知道bean是存在作用域的。  从spring的官方文档中发现sp... 查看详情

详解spring中bean的作用域与生命周期(代码片段)

...ff0c;我是灰小猿!一个超会写bug的程序猿!在利用Spring进行IOC配置时,关于bean的配置和使用一直都是比较重要的一部分,同时如何合理的使用和创建bean对 查看详情

详解spring中bean的作用域与生命周期(代码片段)

...ff0c;我是灰小猿!一个超会写bug的程序猿!在利用Spring进行IOC配置时,关于bean的配置和使用一直都是比较重要的一部分,同时如何合理的使用和创建bean对 查看详情

配置bean的作用域(代码片段)

一、Spring中Bean的5个作用域在Spring2.0及之后的版本中,Bean的作用域被划分为5种。如下singleton      默认值。以单例模式创建Bean的实例,即容器中该Bean的实例只有一个prototype     每次从容器中获取Bean时,都会创... 查看详情

spring5学习笔记—“bean的作用域”(代码片段)

目前SpringBean的作用域/范围主要有五种:(常用:singleton,prototype)在Spring里面,默认情况下,bean是单实例对象;我们在Spring配置文件中使用bean标签创建对象时,可以使用scope属性来设置bean的作用域... 查看详情

spring(bean作用域和生命周期)(代码片段)

目录1.案例1:Bean作用域的问题2.作用域3.设置Bean的作用域4.Spring的执行流程5.Bean的生命周期1.案例1:Bean作用域的问题现在有一个公共的Bean,通过给A用户和B用户使用,然后在使用的过程中A偷偷的修改了公共Bean的数据,导致B在使用时发... 查看详情

spring中bean的作用域与生命周期(代码片段)

...g.csdn.net/fuzhongmin05推荐:https://www.xttblog.com/?p=5255在Spring中, 查看详情

spring中bean的作用域与生命周期(代码片段)

...g.csdn.net/fuzhongmin05推荐:https://www.xttblog.com/?p=5255在Spring中, 查看详情

学习笔记——spring管理第三方bean;spring中bean的作用域;spring中bean的生命周期;spring中bean的后置处理器;spring中自动装配(代码片段)

2023-01-17一、Spring管理druid步骤 (1)导入jar包<!--https://mvnrepository.com/artifact/com.alibaba/druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artif 查看详情

spring详解bean的六种作用域执行流程生命周期(代码片段)

@TOCBean作⽤域和⽣命周期从前⾯的博客我们可以看出Spring是⽤来读取和存储Bean,因此在Spring中Bean是最核⼼的操作资源,所以接下来我们深⼊学习⼀下Bean对象通过⼀个案例来看Bean作⽤域的问题假设现在有⼀个公共的Bean,提供给A... 查看详情

spring框架spring依赖注入dibean作用域bean的自动装配(代码片段)

Spring依赖注入DI、Bean作用域、Bean的自动装配依赖注入(DependencyInjection,DI)依赖:指Bean对象的创建依赖于容器,Bean对象的依赖资源注入:指Bean对象所依赖的资源,由容器来设置和装配构造器注入构造器注入:https://www.cnblogs.com/luoxiao1104... 查看详情

spring总结之二(bean作用域依赖注入)(代码片段)

###Bean的作用域:单例(singleton),多例(prototype)1.单例模式:表示在任何地方使用对象,总是一个(对象是唯一的)。(笔面试重点)饿汉式publicclassKingprivatefinalstaticKingking=newKing();privateKing()publicstaticKinggetKing()returnking;懒汉式publiccla 查看详情

java八股系列——springbean的作用域与生命周期(代码片段)

一:作用域SpringBean作用域是指在Spring容器中管理的Bean对象的生命周期和可见范围。Spring框架提供了五种Bean作用域:Singleton(单例):单例模式,SpringIOC容器中只会存在一个共享的Bean实例,无论有多少个Bean引用... 查看详情

spring学习-ioc-scope作用域(代码片段)

scope作用域scope作用域定义了spring容器中生成的bean实例的可见范围,包括如下:singleton:生成唯一的bean实例,是spring里的缺省作用域,spring容器初始化时进行实例化prototype:每次请求时,都会生成新的b... 查看详情

spring(ioc和bean的作用域)(代码片段)

SpringSpring为简化开发而生,让程序员只关心核心业务的实现,尽可能的不在关注非业务逻辑代码(事务控制,安全日志等)。1,Spring八大模块这八大模块组成了Spring1.1SpringCore模块这是Spring框架的最基础的部分,它提供了依赖注... 查看详情

bean注解(annotation)配置-bean作用域与生命周期回调方法配置(代码片段)

Spring系列教程Spring框架介绍Spring框架模块Spring开发环境搭建(Eclipse)创建一个简单的Spring应用Spring控制反转容器(InversionofControl–IOC)理解依赖注入(DI–DependencyInjection)BeanXML配置(1)-通过XML配置加载BeanBeanXML配置(2)-Bean作... 查看详情