组件注册 04 @Scope 设置组件作用域

参数详解

常用

prototype:多实例
singleton:单实例

不常用

request:同一次请求创建一个实例
session:同一个session创建一个实例

示例

单例模式(默认情况)

配置类

@Configuration
public class MainConfig2 {// 由于容器中已经有了一个名为"person"的bean, 所以如果再注入"person"的时候会报错 需要修改下注入的bean的名称// 不写scope的情况下 默认是singleton  相当于 @Scope("singleton")@Bean("person2") public Person person(){return new Person("qd2",22);}
}

测试

    @Testvoid scopeTest(){//配置类测试AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig2.class);Object bean = applicationContext.getBean("person2");Object bean1 = applicationContext.getBean("person2");System.out.println("bean :"+bean.toString());System.out.println("bean1:"+bean1.toString());System.out.println(bean == bean1);}

多例模式

@Configuration
public class MainConfig2 {// 由于容器中已经有了一个名为"person"的bean, 所以如果再注入"person"的时候会报错 需要修改下注入的bean的名称@Bean("person2")@Scope("prototype")public Person person(){return new Person("qd2",22);}
}

等同于

    <bean id="person" class="com.example.annotations.bean.Person" scope="prototype"><property name="name" value="lxl"/><property name="age" value="21"/></bean>

测试结果:

Notes

单实例

单例模式下(singleton)

  1. 在容器加载的时候加载bean
  2. IOC容器启动会调用方法创建对象放进IOC容器中
  3. 以后每次获取直接从容器(map.get())中获取

多实例

多例模式下(prototype)

  1. IOC容器启动并不会调用方法创建对象放在容器中
  2. 每次获取的时候才会调用方法创建对象

【SpringBoot_ANNOTATIONS】组件注册 04 @Scope 设置组件作用域相关推荐

  1. Spring Boot基础学习笔记12:组件注册整合Servlet三大组件

    文章目录 零.学习目标 一.整合Servlet三大组件概述 (一)组件注册整合Servlet三大组件 (二)路径扫描整合Servlet三大组件 二.创建Spring Boot项目 - Integrat ...

  2. js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...

    来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...

  3. 三、Spring的@Scope设置组件作用域

    还是和上节一样,首先来看下配置类:MainConfig2 @Configuration 名 public class MainConfig2 {@Scope("singleton" ...

  4. Vue第二天学习总结—— Vue全家桶之组件化开发(组件化开发思想、组件注册、Vue调试工具用法、组件间数据交互传递、组件插槽、基于组件的案例——购物车)

    (一) 组件化开发思想 1. 现实中的组件化思想体现 组件化即是对某些可以进行复用的功能进行封装的标准化工作 标准:要想组件能够成功组合在一起,每个组件必须要有标准 分治:将不同的功能封装到不同的组件 ...

  5. 【Spring注解驱动开发】使用@Scope注解设置组件的作用域

    写在前面 Spring容器中的组件默认是单例的,在Spring启动时就会实例化并初始化这些对象,将其放到Spring容器中,之后,每次获取对象时,直接从Spring容器中获取,而不再创建对象.如果每次 ...

  6. spring系列-注解驱动原理及源码-bean组件注册

    目录 一.环境初始化 1.环境准备 二.bean的手动注入 1.xml方式注入bean 2.使用@Configuration&@Bean方式注入bean 三.自动扫描注册组件及bean 1.使 ...

  7. VUE组件注册与基础用法

    这里写目录标题 组件 组件注册 全局注册 组件基础用 组件注意事项 局部注册 Vue 调试工具 Vue组件之间传值 父组件向子组件传值 子组件向父组件传值 兄弟之间的传递 组件插槽 匿名插槽 具名插槽 ...

  8. Spring注解开发系列Ⅰ--- 组件注册(上)

    传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文 ...

  9. spring注解--组件注册

    组件注册 1.@Configuration , @Bean 1)xml方式 <?xml version="1.0" encoding="UTF-8"?&g ...

  10. 开坑,写点Polymer 1.0 教程第3篇——组件注册与创建

    之前一篇算是带大家大致领略了一下Polymer的风采.这篇我们稍微深入一丢丢,讲下组件的注册和创建. 创建自定义组件的几种方式 这里我们使用Polymer函数注册了一个自定义组件"my-el ...

最新文章

  1. FSD HOOK与SSDT HOOK恢复简单思路
  2. 《ArcGIS Engine 地理信息系统开发从入门到精通(第二版)》——6.7 本章小结
  3. ICML 2021 | Option-GAI: 机器人任务太长太复杂?不妨试试层次化模仿学习
  4. 你的心思很难猜?3亿+用户的心TA都懂!
  5. 学号 20165329 《Java程序设计》第4周学习总结
  6. Proteus--软件简介及安装教程
  7. PP点点通介绍与下载
  8. reset()方法 submit()方法
  9. 29、域名ICP备案查询API接口,免费好用
  10. 【python+selenium】自动登陆学校青果教务网
  11. 由Photoshop高反差保留算法原理联想到的一些图像增强算法
  12. go开发gui还是python开发gui_golang为什么没有官方的gui包?
  13. jrebel 反代理服务搭建
  14. 线程同步(临界区、互斥量、事件、信号量)
  15. 阅读《SentiLARE: Sentiment-Aware Language Representation Learning with Linguistic Knowledge》
  16. 盐酸除铁方法 盐酸除铁树脂 盐酸里面的铁怎么去除
  17. 天空卫士客户案例 | 上汽集团数据安全篇
  18. 收藏(网站和软件下载地址)
  19. 在thinkphp5项目中使用 laravel-mix工具打包,解决95% emitting的问题
  20. matlab分布傅里叶解微分方程,专题四 微分方程的matlab求解

热门文章

  1. 酒后谈IT,那些术语大妈都能秒懂!
  2. EasyStack郭长波连任OpenStack基金会独立董事
  3. 【人脸识别】基于matlab GUI PCA算法人脸识别门禁系统【含Matlab源码 1777期】
  4. 【手写数字识别】基于matlab GUI知识库手写数字识别(写字板+图片)【含Matlab源码 1227期】
  5. 【优化部署】 基于matlab遗传算法求解移动传感器部署优化问题【含Matlab源码 1197期】
  6. 【数字信号】基于GUI数字波束算法库【含Matlab源码 313期】
  7. ubuntu安装sogou输入法、及安装完成后的配置
  8. 推荐一个专业的正则表达试学习网站
  9. Latex:图片排版的位置参数【htbp】
  10. Python基本数据类型(数字、字符串、列表、元组、集合、字典)