@Component和@Bean的区别

@Component、@Bean都是使用注解的形式来定义bean,从功能上讲是一样的

@Component(包括@Service、@Repository)用于自动检测和使用类路径扫描注解,自动装配

bean。注解类和bean 之间是存在隐性的映射关系的,一个类对应一个注册的bean-

这种方式对于需要逻辑处理是有弊端的,纯粹是一种声明式注册 bean的手段

@Bean用于注册bean的,是一种显示标明的bean

注册bean与类型是完全分开进行管理的,便于统一管理操作

同时这个注解是标识在方法上的,我们也可以利用这个提供对象的方法来进行其他业务的扩展功能性更强

从二者对比来看:

@Component 使用较多,因为使用更简单

@Bean注册 bean的形式更加的集中,可以将这个配置类(@Configuration类)当做早期的纯xml 配置文件,如果对于某个类的bean的生产比较麻烦,需要做N多预处理工作,那么使用@Bean形式比较妥当

相关推荐
有一个好名字3 分钟前
Spring AI 工具调用(Tool Calling):解锁智能应用新能力
java·人工智能·spring
蓝影铁哥3 分钟前
浅谈国产数据库OceanBase
java·linux·数据库·oceanbase
五阿哥永琪4 分钟前
SpringAOP的底层实现原理
java·spring
闲蛋小超人笑嘻嘻5 分钟前
localStorage用法详解
前端
Swift社区9 分钟前
用 RN 的渲染模型,反推 Vue 列表的正确拆分方式
前端·javascript·vue.js
Mr_chiu9 分钟前
微前端从入门到精通:Vue开发者的大型应用架构演进指南
前端·架构
鹿野素材屋12 分钟前
帧同步场景下的确定性随机数生成:基于时间戳的固定种子设计与实践
java·开发语言
Violet_YSWY13 分钟前
Vue-Pinia defineStore 语法结构
前端·javascript·vue.js
全栈陈序员13 分钟前
v-if 和 v-for 的优先级是什么?
前端·javascript·vue.js·学习·前端框架·ecmascript
xinyu_Jina15 分钟前
Info Flow:大规模列表渲染中的UI虚拟化、数据懒-加载与前端性能工程
前端·ui