目录

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的作用域)相关推荐

  1. IOC操作Bean管理XML方式(外部属性文件)

    目录 IOC操作Bean管理XML方式(外部属性文件) 前情引入: 实验演示: 1.直接配置数据库信息 (1)配置德鲁伊连接池 (2)引入德鲁伊连接池jar包 (3)创建一个bean6.xml配置文件 ...

  2. IOC操作Bean管理XML方式(xml自动装配)

    目录 IOC操作Bean管理XML方式(xml自动装配) 一.演示自动装配过程 (1)根据 属性名称 装配 步骤一: 步骤二: 步骤三: (2)根据 属性类型 装配 (2.1)根据 类型 自动装配产生 ...

  3. IOC操作Bean管理XML方式(bean 的生命周期)

    目录 IOC操作Bean管理XML方式(bean 的生命周期) 1.bean 的生命周期(在单例模式下的生命周期) (1)通过构造器创建 bean 的实例(执行类中无参构造方法去创建对象) (2)为 ...

  4. IOC操作Bean管理XML方式(FactoryBean)

    目录 IOC操作Bean管理XML方式(FactoryBean) Spring 有两种类型的bean 第一种:是普通的 bean 第二种:工厂bean FactoryBean 第一步:创建类,让这个类 ...

  5. IOC操作Bean管理XML方式(注入集合类型属性)

    目录 IOC操作Bean管理XML方式(注入集合类型属性) (1)首先进行环境的搭建和准备 (2)创建一个类:用来完成集合类型属性注入 (3)在Spring 配置文件进行配置 (4)编写一个测试类进行 ...

  6. IOC操作Bean管理XML方式(注入空值和特殊符号)

    IOC操作Bean管理XML方式(注入空值和特殊符号) 目录 IOC操作Bean管理XML方式(注入空值和特殊符号) (1)通过null标签注入空值: 标签注入空值 (2)属性值中包含特殊符号: 方法 ...

  7. IOC操作Bean管理XML方式(有参构造注入属性)

    IOC操作Bean管理XML方式 目录 有参构造注入属性 (1)步骤(创建类,定义属性,创建属性对应的有参构造方法): (2)步骤:在Spring 的xml配置文件中进行配置 (3)步骤:进行测试 结 ...

  8. Spring——Bean管理-xml方式进行属性注入

    目录 一.xml方式创建对象 二.xml方式注入属性 第①种方式注入:set方法注入 第②种方式注入:有参构造函数注入 constructor-arg:通过构造函数注入 用name标签属性: 不按照顺 ...

  9. [Spring5]IOC容器_Bean管理XML方式_创建对象_set注入属性and有参构造注入属性

    IOC操作 Bean管理 什么是Bean管理 1.Bean管理指的是两个操作: a.Spring创建对象 b.Spring注入属性 2.Bean管理操作有两种方式 a.基于xml配置文件方式实现 b. ...

最新文章

  1. 系统英伟达gpu驱动卸载_绕过CPU,英伟达让GPU直连存储设备
  2. 开发人员必学的5门课程
  3. ubuntu dpkg mysql_ubuntu-12.04 – 在Ubuntu 12.04上无法启动MySQL5.5 – “dpkg:依赖问题”...
  4. 2022.管理类软件工具
  5. js layui跳转页面_layui自己添加图片按钮并点击跳转页面的例子
  6. Apache 和 Tomcat 的 关系
  7. 艾伟也谈项目管理,我的项目管理观点
  8. Rust: Rust 异步入门 (作者洋芋,来自Rust语言中文社区)
  9. 西门子s7-200解密软件下载_西门子S7200plc软件仿真软件使用方法
  10. 10秒!看清导数与微分的关系
  11. 华为云 远程连接Mysql
  12. 【译】什么才是优秀的代码
  13. 看片会员php源码,会员碎片 · THINKPHP插件 · 看云
  14. 腾讯音乐被“锤”后,“网文霸主”阅文如何突破版权垄断?
  15. 天空之城 主题曲《君をのせて》中日罗马音
  16. 【英语面试】三.计算机专业英语面试常见问题(个人选择/学业规划篇)
  17. 优秀期刊《儿童绘本》CN刊物征稿
  18. 写个python,爬行【游明星空】的壁纸(4)
  19. 地面无人驾驶系统环境感知技术的发展
  20. 社区新零售另一个风口:社区拼团震撼来袭

热门文章

  1. python安装(原系统中已有python2)
  2. 20145324 《Java程序设计》第6周学习总结
  3. 状态压缩 之 UVA 10944 - Nuts for nuts..
  4. 操作系统(二): 进程与线程
  5. 领域模型中的各种角色
  6. Javascript里使用Dom操作Xml
  7. 基于交换机的PC端网络通信
  8. 3D模型格式解析(OBJ)
  9. Leetcode--96. 不同的二叉搜索树(java)
  10. 计算机科学与技术专业改革,浅析计算机科学与技术专业教学改革