@Bean, @Component, @Configuration简析

2023/11/30 10:19:52

@Bean

作用于方法,声明该方法产生的对象为bean,由spring Ioc统一初始化、装配、管理。该方法一般置于@configuration作用的类中。

@Configuration

作用于类,该类通常包含若干由@Bean修饰的方法。@Configuration表明该类由Spring Ioc统一管理、定义类,并提供服务请求、配置依赖关系。

@Component

作用于类,使该类中的bean能够在classpath 扫描中被探测到,@Configuration的功能大于@Component, @Component的功能大于@Bean

摘抄自stackoverflow的一段话:很有道理,不翻译了

@Component and @Bean do two quite different things, and shouldn't be confused.

@Component (and @Service and @Repository) are used to auto-detect and auto-configure beans using classpath scanning. There's an implicit one-to-one mapping between the annotated class and the bean (i.e. one bean per class). Control of wiring is quite limited with this approach, since it's purely declarative.

@Bean is used to explicitly declare a single bean, rather than letting Spring do it automatically as above. It decouples the declaration of the bean from the class definition, and lets you create and configure beans exactly how you choose.

参考链接

explanation in stackoverflow

@Component vs @Bean

Component annotation


http://www.jnnr.cn/a/80925.html

相关文章

分布式数据库系统实验五

Oracle分布式查询优化案例写在最前面一、实验目的:二、实验内容:三、实验结果:(1)创建如下应用场景:OraStar公司在**总部**保存供应商的信息,在**生产部门**保存每批进货的零件产品的信息。Step…

操作系统:虚拟内存

文章目录内存分段内存分页简单分页的缺陷多级页表页表缓存TLB(Translation Lookaside Buffer)把进程所使用的地址[隔离]开来,即让操作系统为每个进程分配独立的一套[虚拟地址」,人人都有,大家自己玩自己的地址就行,互不干涉。前提…

【node.js从入门到精通】编写接口,使用CROS解决跨域问题,jsonp的接口

目录 ​编辑 前言 1. get接口 2.post接口 2.跨域问题 1.CROS是什么 2.使用CROS解决跨域问题 3.CORS请求的分类 4.编写jsonp的接口 写在最后 前言 接口是前后端的一座桥梁。接口是后端设计的一套供给第三方使用的方法。(第三方指前端/后端)接口通过网络协议来调用&…

Mybatis-Plus 通过 Map 接收多个结果集

效果 1、结果集的大小代表返回多少个数据表记录&#xff0c;例如在存储过程中有两个 SELECT * 语句&#xff0c;则结果集大小为 2 。 2、结果集中的每一个数据表作为一个 List<?>&#xff0c;每一条记录为一个 Object 泛型。 3、存储过程中输出的参数 Msg Out 也可以通…

自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)

相关文章 自动化测试项目实战笔记(一)&#xff1a;JDK、Tomcat、MySQL、Jpress环境安装和搭建 自动化测试项目实战笔记(二)&#xff1a;解决验证码识别问题 自动化测试项目实战笔记(三)&#xff1a;测试用户注册&#xff08;验证码错误&#xff0c;成功&#xff0c;出现弹框时处…

【论文阅读】Fair and Efficient Gossip in Hyperledger Fabric -- ICDCS

文章目录摘要1 介绍2 超级账本结构的解剖A. Fabric架构B. Fabric中事务的执行C. Fabric的一致性3 八卦在织物中传播A.八卦在Fabric中传播B.八卦对带宽和冲突的影响4 加强疫情传播5 评估A.实验设置B.评估基线(原始Fabric八卦模块)C.我们增强的Fabric八卦模块的评估D. 对织物一致…

射频/微波PCB的信号注入方法

将高频能量从同轴连接器传递到印刷电路板&#xff08;PCB&#xff09;的过程通常被称为信号注入&#xff0c;它的特征难以描述。能量传递的效率会因电路结构不同而差异悬殊。PCB 材料及其厚度和工作频率范围等因素&#xff0c;以及连接器设计及其与电路材料的相互作用都会影响性…

生物素Biotin/醛基CHO/羟基OH/二苯基环辛炔DBCO/四嗪TZ修饰Ag2Te量子点

生物素Biotin/醛基CHO/羟基OH/二苯基环辛炔DBCO/四嗪TZ修饰Ag2Te量子点 第二近红外窗口荧光Ag2 Te量子点.采用透射电子显微镜( TEM)、X射线衍射光谱( XRD)、 X射线光电子能谱( XPS)、紫外-可见-近红外吸收光谱和荧光光谱等对产物进行了表征.结果表明,制得了粒径均一、分散性好…

二阶段目标检测介绍

二阶段目标检测算法&#xff08;RCNN 家族&#xff09;是目标检测中最经典的算法之一&#xff0c;有 R-CNN -> Fast R-CNN -> Faster R-CNN&#xff0c;每一代的变化以及目的性都明确&#xff0c;也是目标检测领域二阶段检测必会的算法之一。 如果想对目标检测有更多了解…

flask学习笔记

Flask学习目录入门创建一个flask项目Jinja渲染模板模板继承基础语法路由重定向url构建404基础BootstrapWTForms消息闪现SQLAlchemy配置常用语法启动shellflask-mailBlueprint、入门 创建一个flask项目 使用pycharm template 放置html页面static 放置静态资源 Jinja flask项…

爱了爱了,这是什么神仙级Apache Dubbo实战资料,清晰,齐全,已跪

学习是一种基础性的能力。然而&#xff0c;“吾生也有涯&#xff0c;而知也无涯。”&#xff0c;如果学习不注意方法&#xff0c;则会“以有涯随无涯&#xff0c;殆矣”。 学习就像吃饭睡觉一样&#xff0c;是人的一种本能&#xff0c;人人都有学习的能力。我们在刚出生的时候…

STL常用容器—— list 容器的使用

文章目录STL常用容器—— list 容器的使用1、 list 容器介绍2、list容器的构造函数3、list容器的赋值和交换4、list容器大小操作5、list容器添加和删除元素操作6、list容器数据存取7、list容器反转和排序STL常用容器—— list 容器的使用 1、 list 容器介绍 list容器简介 list…

Pygame实战(一):随机抽位置

文章目录Pygame实战&#xff08;一&#xff09;&#xff1a;随机抽位置一、 概述1、 简介2、 设计思路3、 成果展示二、 开始编程1、 配置文件2、 程序界面2.1 读取配置2.2 工具类2.3 显示区2.4 操作区2.5 随机矩形3、 事件处理4、 总程序三、 程序打包1、 规范文件2、 打包运行…

SuperMap GIS基础软件地图瓦片问题QA

目录 一、地图瓦片存储、原理、结构介 1.1 不同存储类型对比 1.2 不同存储结构的存储示意图 2.1 目录结构说明 二、生成瓦片流程详解 1、海量影像瓦片 2、矢量瓦片 三、项目案例分享 1、XX部全国三调数据切图 1.1 项目背景 1.2 数据特点 1.3 硬件环境说明 1.4 切片方案确定…

C++绘图库matplotlibcpp在Visual Studio中的配置方法

本文介绍在Visual Studio软件中配置、编译C 环境下matplotlibcpp库的详细方法。 matplotlibcpp库是一个C 环境下的绘图工具&#xff0c;其通过调用Python接口&#xff0c;实现在C 代码中通过matplotlib库的命令绘制各类图像。由于其需要调用Python接口&#xff0c;因此在配置ma…

compression记录(compress)

数据压缩记录用于从数组采集并且压缩数据。当INP字段引用一个数据数组字段&#xff0c;它立即使用若干算法之一压缩整个数组一个数组的一个元素&#xff0c;重写先前值。如果INP字段从一个标量值字段获取了它的值&#xff0c;这个compress记录将在这个记录每次运行时采集一个新…

数据结构与算法分析之优先队列

1.1 概念 优先队列按照作用不同可以分为两类&#xff1a; 最大优先队列&#xff1a;可以获取并删除队列中的最大值最小优先队列&#xff1a;可以获取并删除队列中的最小值 1.2 最大优先队列 堆这种结构可以方便的删除最大的值&#xff0c;所以我们使用堆来实现最大优先队列…

【Java】实现文件夹复制

【Java】实现文件夹复制 需求 实现单级文件夹复制实现多级文件夹复制 单级文件夹复制 步骤 创建源目录对象&#xff0c;获取该目录对象名称创建目的目录对象&#xff0c;路径名由指定目的目录路径名源路径名、 &#xff08;如&#xff0c;源目的路径名为c:\java1&#xff…

2.Modbus通信协议-软件调试4个工具软件(推荐)

Modbus通信协议-软件调试的4个工具软件 1.Launch Virtual Serial Port Driver 2.Modbus Poll 3.Modbus Slave 4.UartAssist 软件下载 以下为官网下载链接&#xff1a; Virtual Serial Port Driver Modbus Slave和Modbus Poll UartAssist 1.Virtual Serial Port Driver …

一招解决windows电脑禁用笔记本自带键盘问题

背景 这段时间&#xff0c;笔记本上总会出现卡顿&#xff0c;鼠标跳跃&#xff0c;桌面闪烁的问题&#xff0c;坚持用了一周之后&#xff0c;情况变的严重了&#xff0c;打开我的电脑&#xff0c;可以弹出很多个窗口出来&#xff0c;导致系统卡死&#xff0c;偶尔能用&#xff…
最新文章