@Bean 和 @Component的区别

@Bean 和 @Component的区别

 

前言  

最近研究Springboot 源码的时候发现这两个注解比较常出现,但是放眼看去这两个注解好像功能都差不多,所以专门研究了一下:


注解作用

  • @Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean。
  • @Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例的逻辑。

两者对比

相同点:两者的结果都是为spring容器注册Bean.

不同点:@Component 通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。

    @Bean 注解通常是我们在标有该注解的方法中定义产生这个bean的逻辑。

原文地址:https://www.cnblogs.com/bruce1992/p/13878750.html