JAVA记录-SpringMVC scope属性的两种模式
singleton作用域:当把一个Bean定义设置为singleton作用域是,Spring IoC容器中只会存在一个共享的Bean实例,并且所有对Bean的
请求,只要id与该Bean定义相匹配,则只会返回该Bean的同一实例。值得强调的是singleton作用域是Spring中的缺省作用域。
prototype作用域:prototype作用域的Bean会导致在每次对该Bean请求(将其注入到另一个Bean中,或者以程序的方式调用容器的getBean
()方法)时都会创建一个新的Bean实例。根据经验,对有状态的Bean应使用prototype作用域,而对无状态的Bean则应该使用singleton作用
域。
对于具有prototype作用域的Bean,有一点很重要,即Spring不能对该Bean的整个生命周期负责。具有prototype作用域的Bean创建后交由调
用者负责销毁对象回收资源。
简单的说:
singleton 只有一个实例,也即是单例模式。(默认)
prototype访问一次创建一个实例,相当于new。
应用场合:
1.需要回收重要资源(数据库连接等)的事宜配置为singleton,如果配置为prototype需要应用确保资源正常回收。
2.有状态的Bean配置成singleton会引发未知问题,可以考虑配置为prototype。
转载于:https://www.cnblogs.com/telwanggs/p/11302679.html
JAVA记录-SpringMVC scope属性的两种模式相关推荐
- ios java aes128_iOS AES128加密解密的两种模式(CBC和ECB)
原理什么的不在本篇的范畴,网上很多大牛总结的很好了 请参考AES加密过程详解 1. 苹果默认是CBC模式的,有文档为证: /*! @enum CCOptions @abstract Options f ...
- spring配置属性的两种方式
spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location ...
- Java中的string定义的两种方法和区别
java中的String定义的两种方法和区别 第一种:new方式 String s1 = new String("hello world"); String s2 = new St ...
- centos6配置日志外发_CentOS6下记录后台操作日志的两种方式
CentOS6下记录后台操作日志的两种方式 平时为了记录登录CentOS Linux系统的操作命令,需要将操作日志记录下来,下面介绍两种方式 1.利用script以及scriptreplay工具 sc ...
- java项目打jar包的两种情况
java项目打jar包的两种情况 本文介绍一下java项目打jar包时的两种情况各怎么操作 方法/步骤 1. 1 一.java项目没有导入第三方jar包 这时候打包就比较简单: 1. 首先在Ecl ...
- Java中线程的创建有两种方式
Java中继承thread类与实现Runnable接口的区别 Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过 ...
- Java生成二维码的两种方法
本文介绍Java生成二维码的两种方法,这两种方法都依赖于google提供的二维码依赖包. 一种是自己写工具类,代码可以网上抄. 另一种是使用hutool第三方工具类的依赖包,不用自己抄代码. 一.自定 ...
- epoll的两种模式
From: http://haoningabc.iteye.com/blog/1432958 linux异步IO浅析 http://hi.baidu.com/_kouu/blog/item/e225 ...
- 浏览器的两种模式quirks mode 和strict mode
在看js代码时,有时会看到关于quirks mode(怪异模式)和strict mode(严格格式)的东西,一直也没深究怎么回事,只是零零碎碎的有些概念,最近终于受不了这种似懂非懂的感觉,决定好好学习 ...
最新文章
- 判断直线与线段 是否相交 + 加入误差 故需要判断重点 poj 3304 Segments
- git常用基本简单命令
- PAT甲级1090 Highest Price in Supply Chain:[C++题解]树、结点到根结点的距离、记忆化搜索、树形dp
- php把proto解析为文档,Protobuf 文件生成工具 Prototool 命令详解
- MySQL无法修改字段
- JS和OC交互的简单应用
- 新手上路之django项目开发(二)-----mysql数据库配置及其增删改查操作
- vuebaidumap 删除覆盖物_VUE BAIDU MAP覆盖物 - 自定义覆盖物手记
- ASP.NET MVC 利用AreaRegistration进行Area区域模块化开发
- 连续子数组的最大和(基于动态规划)
- LeetCode Binary Tree PostorderTranversal
- 南昌计算机学校哪家最可靠,南昌问题孩子管教学校哪家靠谱
- https://blog.csdn.net/qq_43412289
- A001-186-2629-赖海洲
- 真正的程序员到底应该是什么样子的?
- resultful风格接口
- PVE虚拟机开启支持虚拟化
- Java基础-OOP 面向对象编程
- LCS(longest common sequence)算法的实现(十分详细)
- html语言下上标对齐,HTML 标记语言全面详细解 一天学会
热门文章
- android删除wifi配置,[RK3288][Android6.0] WiFi之无线网络配置的忘记(移除)过程
- 程序员c语言简历,程序员的简历该怎么写?当然是程序!
- (67)SPI外设驱动接收驱动(六)(第14天)
- (27)Verilog HDL循环语句:while
- php 获取变量指针_PHP 底层的运行机制与原理
- 7.FreeRTOS学习笔记-事件
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED模板驱动程序的改造:设备树
- python算法应用(七)——搜索与排名3(点击跟踪网络的设计)
- varnish关于Grace mode和Saint mode这两中模式配置
- android启动界面修改工具,Android 系统界面调节工具使用及功能