spring-spring容器中的bean

1、bean的基本定义和bean别名

2、容器中bean的作用域

singleton:单例模式,在整个spring IoC容器中,singleton作用域的bean将只生成一个实例。

prototype:每次通过容器的getBean()方法获取prototype作用域的bean时,都将产生一个新的bean实例。

request:对于一次HTTP请求,request作用域的bean将只生成一个实例,这意味着,在同一次HTTP请求内,程序每次请求该bean,得到的总是同一个实例。只有在Web应用中使用spring时,该作用域才真正的有效。

session:对于一次HTTP会话,sesion作用域的bean将只生成一个实例,这意味着,在同一次HTTP会话内,程序每次请求该bean,得到的总是同一个实例。只有在Web应用中使用spring时,该作用域才真正的有效。

 global session:每个全局的HTTP Session对应一个bean实例。在典型的情况下,仅在使用portlet context的时候有效。只有在Web应用中使用spring时,该作用域才真正的有效。

比较常用的是singleton和prototype。对于singleton作用域的bean,每次请求该bean都将获得相同的实例。容器负责跟踪bean实例的状态,负责维护bean实例的生命周期行为;对于prototype作用域的bean,程序每次请求该id的bean,spring都会新建一个bean实例,然后返回给程序。这种情况下,spring容器仅仅使用new关键字创建bean实例,一旦创建成功,容器就不再跟踪实例,也不会维护bean实例的状态。

如果不指定bean的作用域,spring容器默认使用singleton作用域。

spring配置文件通过scope属性指定bean的作用域,该属性可以接受singleton、prototype、request、session、globalSession五个值。

3、request作用域

4、session作用域

原文地址:https://www.cnblogs.com/ZeroMZ/p/11324701.html

时间: 2024-08-05 22:18:09

spring-spring容器中的bean的相关文章

spring IOC容器中装配Bean(XML)

——基于XML的配置 依赖注入 spring 依赖注入的方式有,属性注入和构造函数注入,还有不常用到的工厂方法注入. (1)属性注入 属性注入要求 Bean 提供默认的构造函数,并为需要的属性提供 set 方法,spring 先调用 Bean 的默认构造函数实例化 Bean 对象,然后通过反射的方法调用 set 方法注入属性值.如下简单的范例: public class Phone { private int id; private String name; private double pri

Spring 获取容器中的Bean

今天在用StringBoot 做异步推送项目的时候发现了一个问题,定义好的某个Bean无法通过applicatioContext.getBeansOfType. 找了一圈发现,这个Bean根本没有注入. 后来才发现定义的Bean忘记加@Component了.真是粗心大意害死人. 当你不知道这个Bean定义成什么好时,可以直接使用@Component,Spring会直接注入,一般情况下使用@Service @Mapper @Repository @Controller 某些情况下我们要获取 IOC

Spring IOC容器中注入bean

一.基于schema格式的注入 1.基本的注入方式 (属性注入方式) 根据setXxx()方法进行依赖注入,Spring只会检查是否有setter方法,是否有对应的属性不做要求 <bean id="student" class="com.lq.ioc.Student"> <property name="name" value="zhansan"></property> <propert

(spring-第2回)Spring的Schema,基于XML的配置(在IoC容器中装配Bean的前奏片)

要深入了解Spring机制,首先需要知道Spring是怎样在IoC容器中装配Bean的.而了解这一点的前提是,要搞清楚Spring基于Schema的Xml配置方案. 在深入了解之前,必须要先明白几个标签的意思(我会逐步引导读者理解,刚开始的懵懂无所谓,读者自会渐入佳境.初极狭,才通人.复行数十步,豁然开朗.). 什么是XML Schema? 用来描述 XML文档的结构,也被简称为XSD(XML Schema Definition),是一些规则的集合.(方式:通过定义schema文件 如 spri

Spring笔记——3.容器中的Bean

开发者在Spring框架下只需要做两件事:开发bean,配置bean.所以我们要做到:眼中看的是xml,戏中想的是java类代码,因为Srping本质就是通过xml来驱动java代码,每段xml都对应一段java代码. bean的作用域 通过scope属性可以为bean设置如下作用域. singleton:永远都只有一个实例.默认的是单例.创建后架构会持续跟踪维护. prototype:每次get都是一个新的实例.new后就不管了. request:同一个request中得到的总是同一个,请求结

在listener或者工具中使用spring容器中的bean实例

在项目中经常遇见需要在Listener中或者工具中使用Spring容器中的bean实例,由于bean不能在stataic的类中使用. 介绍一种方式: public class SpringTool { public static Object getObjectFromApplication(HttpSession session,String beanName){ ServletContext servletContext= session.getServletContext(); //通过W

spring在IoC容器中装配Bean详解

1.Spring配置概述 1.1.概述 Spring容器从xml配置.java注解.spring注解中读取bean配置信息,形成bean定义注册表: 根据bean定义注册表实例化bean: 将bean实例放入bean缓存池: 应用程序使用bean. 1.2.基于xml的配置 (1)xml文件概述 xmlns------默认命名空间 xmlns:xsi-------标准命名空间,用于指定自定义命名空间的schema文件 xmlns:xxx="aaaaa"-------自定义命名空间,xx

Spring:获取容器中的Bean

某些情况下我们要获取 IOC 容器中指定注解.类型.名字的 Bean 要获取 IOC 容器中指定条件的 Bean 可以通过 ApplicationContext 相应的方法 @Autowired private ApplicationContext applicationContext; 获取指定注解所有的 Bean Map<String,Object> objectMap = applicationContext.getBeansWithAnnotation(Service.class);

String框架搭建的基本步骤,及从IOC容器中获取Bean

Spring框架的插件springsource-tool-suite-3.4.0.RELEASE-e4.3.1-updatesite(是一个压缩包)导入步骤: eclipse->help->Instal New Software->点击add,找到该压缩包->选择 Name下面选择带有 /Spring IDC 的多选框->取消最下边的选框  contact all...->next...->finish: 建立一个java project,在工程目录下(day-1