<springboot实战笔记> 关于@Component与@Bean

1、官方说明

  • @Component 和 @Bean 是两种使用注解来定义bean的方式。

  • @Component(和@Service和@Repository)用于自动检测和使用类路径扫描自动配置bean。注释类和bean之间存在隐式的一对一映射(即每个类一个bean)。
    这种方法对需要进行逻辑处理的控制非常有限,因为它纯粹是声明性的。

  • @Bean用于显式声明单个bean,而不是让Spring像上面那样自动执行它。它将bean的声明与类定义分离,并允许您精确地创建和配置bean。

2.两者区别

  1. @Component使用类路径扫描自动检测并配置Bean,而@Bean显式声明单个Bean,而不是让Spring自动执行。
  2. @Component不会将Bean的声明与类定义解耦,而@Bean会将Bean的声明与类定义解耦。
  3. @Component是类级别的注释,而@Bean是方法级别的注释,该方法的名称用作Bean名称。
  4. @Component不必与@Configuration注释一起使用,因为@Bean注释必须在用@Configuration注释的类中使用。
    我们不能创建一个bean使用@Component一类,如果类是外spring容器,而我们可以创建一个bean如果类是目前使用@Bean甚至一类外Spring容器。
  5. @Component具有不同的专长,例如@ Controller,@ Repository和@Service,而@Bean没有专长。

具体参考:https://stackoverflow.com/questions/10604298/spring-component-versus-bean#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值