原创

@Component和@Bean的区别


  • @Component 注解是一个通用注解,可用在于任何类上,包括普通的java类、业务逻辑组件、持久化对象等等。通过@Component注解,Spring会自动创建该类的实例注入到SpringIOC容器中。
  • @Bean 注解是用于配置类中声明的一个Bean,通常用于配置类的方法上,表示把这个方法的返回对象注册到SpringIOC容器中。通过该注解,可以自定义Bean的创建和初始化过程,包括指定Bean的名称、作用域、依赖关系等。

1、用途不同

  • @Component 用于标识普通类
  • @Bean 用于配置类中声明和配置Bean对象

2、使用方式不同

  • @Component是一个类级别注解,Spring通过@ComponetScan注解去扫描修饰@Component注解的一个类,并且将这些类注册到SpringIOC中
  • @Bean注解是修饰在方法层面,在配置类中手动声明一个Bean的定义

3、控制权不同

  • @Component注解修饰的类是由Spring框架来创建和初始化的
  • @Bean注解允许开发人员手动控制Bean的创建和配置过程
Java
SpringBoot
  • 作者:一介闲人(联系作者)
  • 发表时间: 2025-03-11 10:20
  • 版权声明:原创-转载需保持署名
  • 公众号转载:请在文末添加本文链接
  • 评论