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作用域
以上知识点希望能够帮助到大家,感谢大家对我们的支持。
相关推荐
-
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容器中bean的初始化
当我们在spring容器中添加一个bean时,如果没有指明它的scope属性,则默认是singleton,也就是单例的. 例如先声明一个bean: public class People { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String get
-
JSP 获取spring容器中bean的两种方法总结
JSP 获取spring容器中bean的方法总结 方案1(Web中使用): ApplicationContext ct = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletActionContext.getServletContext()); logService = (ISysLogService) ct.getBean("sysLogServiceImpl"); 说明:getRequiredWeb
-
SpringBoot普通类获取spring容器中bean的操作
前言 在spring框架中,是无法在普通类中通过注解注入实例的,因为sping框架在启动的时候,就会将标明交给spring容器管理的类进行实例化,并梳理他们彼此的依赖关系,进行注入,没有交给spring容器管理的普通类,是不会进行注入的,即使你使用了注入的相关注解.这个时候,如果我们需要在普通类中获取spring容器中的实例,就需要一些特定的方法,这里将整理一下如何在springboot中实现这样的方法. 创建springboot工程demo 项目结构图示 项目结构说明 service包下为de
-
介绍下Java Spring的核心接口,容器中Bean的实例化
目录 Spring的核心接口 ApplicationContext接口 BeanFactory接口 Spring容器中Bean的实例化 构造方法 无参构造方法 有参构造方法 工厂 静态工厂 实例工厂 FactoryBean→使用工厂方法 总结 Spring的核心接口 ApplicationContext接口 继承了BeanFactory并且提供了加载资源文件的方法 ApplicationContext其实就是一个容器,ApplicationContext的实例其实就是容器对象,这个容器对象在实例
-
spring IOC容器的Bean管理XML自动装配过程
目录 什么是自动装配? 自动装配过程 1. 创建 2 个类 2. 配置文件 3. 测试方法 什么是自动装配? 在之前的内容中,每给属性注入值都要一个个的用 property 标签来完成,比如: <bean id="book" class="com.pingguo.spring5.collectiontype.Book" scope="prototype"> <property name="list" ref=
-
Spring IOC容器的Bean管理基于注解属性注入方式
目录 基于注解方式进行属性注入 一.@Autowired 1. 添加对象注解 2. 在service中注入dao对象 3. 创建测试函数测试效果 二.@Qualifier 三.@Resource 1. 替代 @Autowired 2. 替换 @Qualifier 四.@Value 基于注解方式进行属性注入 涉及到 4 个注解 @Autowired:根据属性类型,进行自动装配 @Qualifier:根据属性名称进行注入,跟 @Autowired 一起使用 @Resource:既可以根据类型注入,也
-
详解SpringIOC容器中bean的作用范围和生命周期
bean的作用范围: 可以通过scope属性进行设置: singleton 单例的(默认) prototype 多例的 request 作用于web应用的请求范围 session 作用于web应用的会话范围 global-session 作用于集群环境的会话范围(全局会话范围) 测试: <!-- 默认是单例的(singleton)--> <bean id="human" class="com.entity.Human"></bean&g
-
详解Spring简单容器中的Bean基本加载过程
本篇将对定义在 XMl 文件中的 bean,从静态的的定义到变成可以使用的对象的过程,即 bean 的加载和获取的过程进行一个整体的了解,不去深究,点到为止,只求对 Spring IOC 的实现过程有一个整体的感知,具体实现细节留到后面用针对性的篇章进行讲解. 首先我们来引入一个 Spring 入门使用示例,假设我们现在定义了一个类 org.zhenchao.framework.MyBean ,我们希望利用 Spring 来管理类对象,这里我们利用 Spring 经典的 XMl 配置文件形式进行
-
详解Spring中Bean的生命周期和作用域及实现方式
前言 在applicationContext.xml中配置完bean之后,Bean的声明周期状态有哪些.生命周期的各个阶段可以做什么.在applicationContext.xml配置bean的作用域有哪些.其中各个作用域代表的是什么.适用于什么情况.这篇文章做一个记录. 生命周期 初始化 可以直接查看图片,图片来自Spring Bean Life Cycle 从上图看出,Bean初始化完成包括9个步骤.其中一些步骤包括接口的实现,其中包括BeanNameAware接口,BeanFactoryA
随机推荐
- SeaJS入门教程系列之使用SeaJS(二)
- ViewPager实现带引导小圆点与自动跳转的引导界面
- java中struts2实现文件上传下载功能实例解析
- JavaScript执行效率与性能提升方案
- 不同浏览器javascript变量作用域的处理方法
- C#中Convert.ToString和ToString的区别分析
- ThinkPHP中实例Model方法的区别说明
- PHPCMS忘记后台密码的解决办法
- 在Python中使用成员运算符的示例
- jsp中获得路径的两种方法和获得url路径的方法(推荐)
- C#最简单的字符串加密解密方法
- c#通用登录模块分享
- Android组件content provider使用解析
- 数据库 SQL千万级数据规模处理概要
- jquery简单实现幻灯片的方法
- 找出IIS中隐藏网站的方法
- JavaWeb 文件的上传和下载功能简单实现代码
- PHP HTML JavaScript MySQL代码如何互相传值的方法分享
- 网管成长历程——IP地址规划之分配篇1
- python使用threading获取线程函数返回值的实现方法