当前位置: 首页 > news >正文

@Bean, @Component, @Configuration简析

@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

相关文章:

  • 2022 年InfoWorld 精选最佳开源软件
  • 如何打造一个可躺赚的网盘项目,每天只需要2小时
  • python中的装饰器(基础装饰器)
  • 多级缓存与局部性原理
  • NLP冻手之路(2)——文本数据集的下载与各种操作(Datasets)
  • 【Java】异常
  • 第22章 软件安装 RPM/ YUM
  • 手把手教你如何使用YOLOV5训练自己的数据集
  • 公众号网课搜题接口
  • 八、创建JWT工具类
  • 这家公司只有1个人,年赚一个亿
  • 【前端攻城师之JS基础】02JS对象基础
  • 【C/C++】程序环境,探索程序的执行过程(习得无上内功《易筋经》的第一步)
  • 计算机网络——基于UDP与TCP网络编程
  • 中兴设备18种命令模式总结大全,全网第一篇,强烈建议收藏!
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • android图片蒙层
  • docker-consul
  • ECMAScript入门(七)--Module语法
  • JavaScript异步流程控制的前世今生
  • Laravel 菜鸟晋级之路
  • log4j2输出到kafka
  • npx命令介绍
  • vagrant 添加本地 box 安装 laravel homestead
  • web标准化(下)
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 前端js -- this指向总结。
  • 前端知识点整理(待续)
  • 设计模式走一遍---观察者模式
  • 使用API自动生成工具优化前端工作流
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • #WEB前端(HTML属性)
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (NSDate) 时间 (time )比较
  • (pytorch进阶之路)扩散概率模型
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (力扣题库)跳跃游戏II(c++)
  • (四) 虚拟摄像头vivi体验
  • (推荐)叮当——中文语音对话机器人
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)WLAN定义和基本架构转
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET 反射 Reflect
  • .NET 药厂业务系统 CPU爆高分析
  • .Net 应用中使用dot trace进行性能诊断
  • .Net接口调试与案例
  • :=