@Component和@Bean的区别

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

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

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

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

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

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

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

从二者对比来看:

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

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

相关推荐
程序猿零零漆1 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十二)Spring整合web环境
学习·spring
隐退山林3 分钟前
JavaEE:多线程初阶(一)
java·开发语言·jvm
C_心欲无痕7 分钟前
ts - 模板字面量类型与 `keyof` 的魔法组合:`keyof T & `on${string}`使用
linux·运维·开发语言·前端·ubuntu·typescript
最贪吃的虎9 分钟前
Redis其实并不是线程安全的
java·开发语言·数据库·redis·后端·缓存·lua
一勺菠萝丶12 分钟前
Java 后端想学 Vue,又想写浏览器插件?
java·前端·vue.js
xie_pin_an12 分钟前
C++ 类和对象全解析:从基础语法到高级特性
java·jvm·c++
Tao____14 分钟前
企业级物联网平台
java·网络·物联网·mqtt·网络协议
山峰哥16 分钟前
数据库工程与SQL调优实战:从原理到案例的深度解析
java·数据库·sql·oracle·性能优化·编辑器
kaico201817 分钟前
远程调用组件openfeign
java·spring cloud
@PHARAOH17 分钟前
HOW - 如何禁用 localstorage
前端·状态模式