Spring中Bean作用域有哪些
Bean作用域有哪些
- singleton
所有Bean实例都用同一个,无论实例化多少次
- prototype
每次实例化都生成新的Bean实例
- request(Web程序)
每个request请求生成新的Bean实例
- session(Web程序)
每个session请求生成新的Bean实例
- global session(Web程序)
若Web程序基于servlet,则视为普通session;若基于porlet,则映射到porlet的global范围
singleton与prototype测试
新建BeanScope包,UserService类
package BeanScope;import java.text.MessageFormat;public class UserService {private String username;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public void changeUsername(String username) {this.username = username;}public void greet() {System.out.println(MessageFormat.format("嗨,我是{0}", username));}
}
新建beanScope.xml配置Bean
<context:component-scan base-package="BeanScope"/><bean id="userService" class="BeanScope.UserService" scope="singleton"><property name="username" value="你大爷"/></bean>
新建单元测试BeanScopeTest
@Testpublic void beanScopeTest() {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beanScope.xml");// 初次实例化UserService userService = (UserService) applicationContext.getBean("userService");userService.greet();userService.changeUsername("你爸爸");userService.greet();// 再次实例化userService = (UserService) applicationContext.getBean("userService");userService.greet();}
运行输出:
嗨,我是你大爷
嗨,我是你爸爸
嗨,我是你爸爸
修改scope为prototype,并运行单元测试输出:
嗨,我是你大爷
嗨,我是你爸爸
嗨,我是你大爷
源码下载
git@github.com:Angryshark128/Practice.git
Spring中Bean作用域有哪些相关推荐
- Spring中bean的五个作用域简介(转载)
Spring上个版本的IoC容器支持两个不同的bean作用域(单例与原型). Spring 2.0改进了这一点,不仅提供了一些依赖于Spring部署环境(比如说,在web环境中的request和ses ...
- Spring 中 Bean 的生命周期
本文作者: 伯乐在线 - yemengying 智商捉鸡?,实在没办法一下子理解Spring IoC和AOP的实现原理,看的闹心也不太懂,所以...决定拆成小的不能在小的一个个问题,一点点啃.今天先来 ...
- 厉害了,Spring中bean的12种定义方法!
前言 在庞大的java体系中,spring有着举足轻重的地位,它给每位开发者带来了极大的便利和惊喜.我们都知道spring是创建和管理bean的工厂,它提供了多种定义bean的方式,能够满足我们日常工 ...
- 面试问题:Spring中Bean 的生命周期
Spring Bean生命周期执行流程 在传统的 Java 应用中,Bean 的生命周期很简单,使用关键字 new 实例化 Bean,当不需要该 Bean 时,由 Java 自动进行垃圾回收. Spr ...
- spring中bean属性scope
spring中bean属性scope singleton:SpringIoc容器只会创建该Bean的唯一实例,所有的请求和引用都只使用这个实例 Property: 每次请求都创建一个实例 reques ...
- spring中Bean的作用范围
Spring中Bean的作用范围 Singleton:使用该属性定义Bean时,IOC容器仅创建一个Bean实例,IOC容器每次返回的是同一个Bean实例. singleton是默认的作用域,当定义B ...
- Spring中Bean初始化和销毁的多种方式
Spring中Bean初始化和销毁的多种方式 一.Bean的多种初始化方式 1.PostConstruct注解 2.实现InitializingBean接口 3.声明init-method方法 二.B ...
- Spring中bean的初始化和销毁几种实现方式详解
关联博文:Spring中Bean的作用域与生命周期 Bean的生命周期 : 创建bean对象 – 属性赋值 – 初始化方法调用前的操作 – 初始化方法 – 初始化方法调用后的操作 – --- 销毁前操 ...
- Spring中bean标签的属性和值:
Spring中bean标签的属性和值: <bean name="user" class="com.pojo.User" init-method=" ...
- (转)Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别
Spring中Bean的命名 1.每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一: 2.可以不指定id属性,只指定全限定类名,如: & ...
最新文章
- python进程和线程_Python进程与线程知识
- python3运行报错:TypeError: Object of type ‘type‘ is not JSON serializable解决方法(详细)
- SecureCRT从Windows中上传文件lrzsz工具
- arrays中copyof复制两个数组_数组,及二维数组
- 永信至诚携 “企业安全人才培养解决方案”惊艳WOT技术峰会
- 在Linux终端下调用可执行文件时总要加上符号./的原因
- 实用的编程网站—良好的开端
- Golang的错误处理笔记
- 将S所指的字符串中下标为偶数同时ASCⅡ值为奇数的字符删除,所指串中剩余的字符形成新的串放在t所指的数组中
- 海龟交易法则05_掌握优势
- (百看不如一练系列)整理的40个前端练手项目|||实践出真知
- mysql查询语句创建临时表_MySQL 临时表_mysql临时表创建_mysql临时表创建
- Go语言圣经 - 前言
- 如何调换手机桌面位置_手机桌面很乱怎么整理?简单七招让你效率更高!
- js初级动态随机抽人事件运用 计时器和超时期应用 解决用on事件onclick多次点击不能停止的问题
- MFC工具条与状态条设计
- 【mysql】批量更新数据
- mybatis-plus异常, org.apache.ibatis.builder.BuilderException: Error evaluating expression AND
- 体检明明不查乙肝,但是体检报告就是不合格,公司不让入职
- I want to be a teacher when I grow up ——长大后我想当老师
热门文章
- ExpandableListView 的使用
- 冰点还原离线激活_冰点还原密钥,手把手教你如何激活冰点还原
- UE编辑器修改背景theme
- python与审计底稿关系_干货!审计底稿,六大禁忌
- c语言 格雷码构造问题,格雷码剖析
- Windows 2003声卡驱动的安装.
- 在vb.net中运用多线程实现远程数据收集
- 在Chrome上安装ie tab插件
- 超级计算机summit存储容量,美国Summit超级计算机:采用超过27000块NV计算卡
- 网狐6603服务器文档,【整理发布】网狐 6603 棋牌平台搭建图文详解(二)