IOC操作Bean管理XML方式(bean的作用域)
目录
IOC操作Bean管理XML方式(bean的作用域)
1.在Spring 里面,设置创建 bean 实例是单实例还是多实例的方式
(1)在Spring 配置文件bean 标签里面有属性(scope)用于设置单实例还是多实例
(2)scope 属性值
(3)singleton 和 prototype 的区别
2.在Spring 里面,默认情况下,bean 是单实例对象
实验步骤:
结果如下:
结论:
掌握:
IOC操作Bean管理XML方式(bean的作用域)
单实例:顾名思义就是一个类只有一个实例,并且类负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。例如:一个餐桌就是一个单实例,每个人都可以用,但是它仅有一个
多实例:每次都新建一个对象
1.在Spring 里面,设置创建 bean 实例是单实例还是多实例的方式
(1)在Spring 配置文件bean 标签里面有属性(scope)用于设置单实例还是多实例
(2)scope 属性值
第一个值:默认值 singleton,表示是单实例对象
第二个值:非默认 prototype,表示是多实例对象
测试效果:
很明显看到两个对象的地址不一样,证明不是同一个对象
(3)singleton 和 prototype 的区别
主要体现在创建的时机不一样
scope设置为singleton 的时候,加载 spring 配置文件的时候就会创建单实例对象
scope设置为prototype 的时候,不是在加载spring 配置文件时候创建对象,而是在调用 getBean 方法的时候才会创建多实例对象
补充两个scope的属性(使用频率很低):
request:request表示一次请求,每次创建对象,会放到request的域对象中
session:session表示一次会话,每次创建对象,会放到session的域对象中
2.在Spring 里面,默认情况下,bean 是单实例对象
方法:把一个对象获取多次,然后输出,输出后比较两个对象的地址,如果地址相同,则是单实例对象
实验步骤:
在TestSpring5Demo 测试类中的代码如下:
把book对象获取多次,输出结果:
package com.lbj.spring5.testdemo;import com.lbj.spring5.collectiontype.Book;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestSpring5Demo1 {@Testpublic void tsetCollection4(){ApplicationContext context=new ClassPathXmlApplicationContext("bean2.xml");Book book1=context.getBean("book", Book.class);Book book2=context.getBean("book", Book.class);System.out.println(book1);System.out.println(book2);}
}
结果如下:
地址相同
结论:
默认情况下,bean 是单实例对象
掌握:
在bean中如何设置多实例和单实例
IOC操作Bean管理XML方式(bean的作用域)相关推荐
- IOC操作Bean管理XML方式(外部属性文件)
目录 IOC操作Bean管理XML方式(外部属性文件) 前情引入: 实验演示: 1.直接配置数据库信息 (1)配置德鲁伊连接池 (2)引入德鲁伊连接池jar包 (3)创建一个bean6.xml配置文件 ...
- IOC操作Bean管理XML方式(xml自动装配)
目录 IOC操作Bean管理XML方式(xml自动装配) 一.演示自动装配过程 (1)根据 属性名称 装配 步骤一: 步骤二: 步骤三: (2)根据 属性类型 装配 (2.1)根据 类型 自动装配产生 ...
- IOC操作Bean管理XML方式(bean 的生命周期)
目录 IOC操作Bean管理XML方式(bean 的生命周期) 1.bean 的生命周期(在单例模式下的生命周期) (1)通过构造器创建 bean 的实例(执行类中无参构造方法去创建对象) (2)为 ...
- IOC操作Bean管理XML方式(FactoryBean)
目录 IOC操作Bean管理XML方式(FactoryBean) Spring 有两种类型的bean 第一种:是普通的 bean 第二种:工厂bean FactoryBean 第一步:创建类,让这个类 ...
- IOC操作Bean管理XML方式(注入集合类型属性)
目录 IOC操作Bean管理XML方式(注入集合类型属性) (1)首先进行环境的搭建和准备 (2)创建一个类:用来完成集合类型属性注入 (3)在Spring 配置文件进行配置 (4)编写一个测试类进行 ...
- IOC操作Bean管理XML方式(注入空值和特殊符号)
IOC操作Bean管理XML方式(注入空值和特殊符号) 目录 IOC操作Bean管理XML方式(注入空值和特殊符号) (1)通过null标签注入空值: 标签注入空值 (2)属性值中包含特殊符号: 方法 ...
- IOC操作Bean管理XML方式(有参构造注入属性)
IOC操作Bean管理XML方式 目录 有参构造注入属性 (1)步骤(创建类,定义属性,创建属性对应的有参构造方法): (2)步骤:在Spring 的xml配置文件中进行配置 (3)步骤:进行测试 结 ...
- Spring——Bean管理-xml方式进行属性注入
目录 一.xml方式创建对象 二.xml方式注入属性 第①种方式注入:set方法注入 第②种方式注入:有参构造函数注入 constructor-arg:通过构造函数注入 用name标签属性: 不按照顺 ...
- [Spring5]IOC容器_Bean管理XML方式_创建对象_set注入属性and有参构造注入属性
IOC操作 Bean管理 什么是Bean管理 1.Bean管理指的是两个操作: a.Spring创建对象 b.Spring注入属性 2.Bean管理操作有两种方式 a.基于xml配置文件方式实现 b. ...
最新文章
- 系统英伟达gpu驱动卸载_绕过CPU,英伟达让GPU直连存储设备
- 开发人员必学的5门课程
- ubuntu dpkg mysql_ubuntu-12.04 – 在Ubuntu 12.04上无法启动MySQL5.5 – “dpkg:依赖问题”...
- 2022.管理类软件工具
- js layui跳转页面_layui自己添加图片按钮并点击跳转页面的例子
- Apache 和 Tomcat 的 关系
- 艾伟也谈项目管理,我的项目管理观点
- Rust: Rust 异步入门 (作者洋芋,来自Rust语言中文社区)
- 西门子s7-200解密软件下载_西门子S7200plc软件仿真软件使用方法
- 10秒!看清导数与微分的关系
- 华为云 远程连接Mysql
- 【译】什么才是优秀的代码
- 看片会员php源码,会员碎片 · THINKPHP插件 · 看云
- 腾讯音乐被“锤”后,“网文霸主”阅文如何突破版权垄断?
- 天空之城 主题曲《君をのせて》中日罗马音
- 【英语面试】三.计算机专业英语面试常见问题(个人选择/学业规划篇)
- 优秀期刊《儿童绘本》CN刊物征稿
- 写个python,爬行【游明星空】的壁纸(4)
- 地面无人驾驶系统环境感知技术的发展
- 社区新零售另一个风口:社区拼团震撼来袭