【SpringBoot_ANNOTATIONS】组件注册 04 @Scope 设置组件作用域
组件注册 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)
- 在容器加载的时候加载bean
- IOC容器启动会调用方法创建对象放进IOC容器中
- 以后每次获取直接从容器(map.get())中获取
多实例
多例模式下(prototype)
- IOC容器启动并不会调用方法创建对象放在容器中
- 每次获取的时候才会调用方法创建对象
【SpringBoot_ANNOTATIONS】组件注册 04 @Scope 设置组件作用域相关推荐
- Spring Boot基础学习笔记12:组件注册整合Servlet三大组件
文章目录 零.学习目标 一.整合Servlet三大组件概述 (一)组件注册整合Servlet三大组件 (二)路径扫描整合Servlet三大组件 二.创建Spring Boot项目 - Integrat ...
- js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...
来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...
- 三、Spring的@Scope设置组件作用域
还是和上节一样,首先来看下配置类:MainConfig2 @Configuration 名 public class MainConfig2 {@Scope("singleton" ...
- Vue第二天学习总结—— Vue全家桶之组件化开发(组件化开发思想、组件注册、Vue调试工具用法、组件间数据交互传递、组件插槽、基于组件的案例——购物车)
(一) 组件化开发思想 1. 现实中的组件化思想体现 组件化即是对某些可以进行复用的功能进行封装的标准化工作 标准:要想组件能够成功组合在一起,每个组件必须要有标准 分治:将不同的功能封装到不同的组件 ...
- 【Spring注解驱动开发】使用@Scope注解设置组件的作用域
写在前面 Spring容器中的组件默认是单例的,在Spring启动时就会实例化并初始化这些对象,将其放到Spring容器中,之后,每次获取对象时,直接从Spring容器中获取,而不再创建对象.如果每次 ...
- spring系列-注解驱动原理及源码-bean组件注册
目录 一.环境初始化 1.环境准备 二.bean的手动注入 1.xml方式注入bean 2.使用@Configuration&@Bean方式注入bean 三.自动扫描注册组件及bean 1.使 ...
- VUE组件注册与基础用法
这里写目录标题 组件 组件注册 全局注册 组件基础用 组件注意事项 局部注册 Vue 调试工具 Vue组件之间传值 父组件向子组件传值 子组件向父组件传值 兄弟之间的传递 组件插槽 匿名插槽 具名插槽 ...
- Spring注解开发系列Ⅰ--- 组件注册(上)
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文 ...
- spring注解--组件注册
组件注册 1.@Configuration , @Bean 1)xml方式 <?xml version="1.0" encoding="UTF-8"?&g ...
- 开坑,写点Polymer 1.0 教程第3篇——组件注册与创建
之前一篇算是带大家大致领略了一下Polymer的风采.这篇我们稍微深入一丢丢,讲下组件的注册和创建. 创建自定义组件的几种方式 这里我们使用Polymer函数注册了一个自定义组件"my-el ...
最新文章
- FSD HOOK与SSDT HOOK恢复简单思路
- 《ArcGIS Engine 地理信息系统开发从入门到精通(第二版)》——6.7 本章小结
- ICML 2021 | Option-GAI: 机器人任务太长太复杂?不妨试试层次化模仿学习
- 你的心思很难猜?3亿+用户的心TA都懂!
- 学号 20165329 《Java程序设计》第4周学习总结
- Proteus--软件简介及安装教程
- PP点点通介绍与下载
- reset()方法 submit()方法
- 29、域名ICP备案查询API接口,免费好用
- 【python+selenium】自动登陆学校青果教务网
- 由Photoshop高反差保留算法原理联想到的一些图像增强算法
- go开发gui还是python开发gui_golang为什么没有官方的gui包?
- jrebel 反代理服务搭建
- 线程同步(临界区、互斥量、事件、信号量)
- 阅读《SentiLARE: Sentiment-Aware Language Representation Learning with Linguistic Knowledge》
- 盐酸除铁方法 盐酸除铁树脂 盐酸里面的铁怎么去除
- 天空卫士客户案例 | 上汽集团数据安全篇
- 收藏(网站和软件下载地址)
- 在thinkphp5项目中使用 laravel-mix工具打包,解决95% emitting的问题
- matlab分布傅里叶解微分方程,专题四 微分方程的matlab求解
热门文章
- 酒后谈IT,那些术语大妈都能秒懂!
- EasyStack郭长波连任OpenStack基金会独立董事
- 【人脸识别】基于matlab GUI PCA算法人脸识别门禁系统【含Matlab源码 1777期】
- 【手写数字识别】基于matlab GUI知识库手写数字识别(写字板+图片)【含Matlab源码 1227期】
- 【优化部署】 基于matlab遗传算法求解移动传感器部署优化问题【含Matlab源码 1197期】
- 【数字信号】基于GUI数字波束算法库【含Matlab源码 313期】
- ubuntu安装sogou输入法、及安装完成后的配置
- 推荐一个专业的正则表达试学习网站
- Latex:图片排版的位置参数【htbp】
- Python基本数据类型(数字、字符串、列表、元组、集合、字典)