您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring@Component与@Bean

Spring@Component与@Bean

@Component@Bean做两件完全不同的事情,不应混淆。

@Component(和@Service@Repository)用于使用类路径扫描自动检测和自动配置bean。在带注释的类和Bean之间存在隐式的一对一映射(即,每个类一个Bean)。由于此布线仅是声明性的,因此使用此方法对布线的控制非常有限。

@Bean用于显式声明单个bean,而不是像上面那样让Spring自动执行。它使Bean的声明与类定义脱钩,并允许你完全按照自己的选择创建和配置Bean。

要回答你的问题…

是否有可能重新使用@Component注释而不是引入@Bean注释?

当然可以;但他们选择不这样做,因为两者是完全不同的。spring已经很混乱了,又没有使水更浑浊了。

@Component 优选用于组件扫描和自动接线。

什么时候应该使用@Bean?

有时,自动配置不是一个选择。什么时候?假设你想从第三方库连接组件(你没有源代码,因此无法使用@Component注释其类),因此无法进行自动配置

所述@Bean注释返回一个对象该弹簧应在应用程序上下文豆注册方法的主体具有负责创建实例的逻辑。

Java 2022/1/1 18:19:31 有548人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶