Spring Beans创建
Spring Beans创建
我知道,@Component
注释是在Spring 2.5中引入的,为了通过类路径扫描来摆脱 XML bean 定义。
@Bean
是在Spring 3.0中引入的,并且可以与@Configuration
结合使用,完全摆脱 XML 文件,使用Java配置替代。
是否可以重复使用@Component
注释而不是引入@Bean
注释? 我的理解是最终目标是在两种情况下创建 bean。
admin 更改状态以发布 2023年5月20日
@Component
和@Bean
做两件完全不同的事情,不应混淆。
@Component
(以及@Service
和@Repository
)用于使用类路径扫描自动检测和自动配置bean。注释的类和bean之间存在一个隐式的一对一映射(即每个类一个bean)。这种方法对于连线控制非常有限,因为它纯粹是声明式的。
@Bean
用于显式声明单个bean,而不是像上面那样让Spring自动创建。它将bean的声明与类定义解耦,并允许您完全按照自己的选择创建和配置bean。
回答你的问题...
是否可以重用
@Component
注释而不是引入@Bean
注释?
可能可以,但他们选择不这样做,因为这两个注释非常不同。 Spring已经足够令人困惑了,不要让事情更混乱。