Spring中@Component和@Bean的异同
概述
@Component
表明一个类会作为组件类,并告知Spring要为这个类创建bean
@Bean
告知Spring这个方法将会返回一个对象,这个对象需要注册为Spring上下文中的bean,通常方法体中包含了最终产生bean实例的逻辑
相同点
都可以为Spring容器注册Bean对象
区别
作用对象不同
@Component
@Component 注解作用于类
@Bean
@Bean 注解作用于方法
使用方法不同
@Component
@Component 注解直接标注在类声明上面即可
@Bean
@Bean 需要在配置类中使用,即类上需要加上 @Configuration 注解,然后在配置类中使用一个方法来自定义 bean 是如何创建的