@Component并
@Bean做两件完全不同的事情,不应混淆。
@Component(和
@Service和
@Repository)用于使用类路径扫描自动检测和自动配置bean。在带注释的类和Bean之间存在隐式的一对一映射(即,每个类一个Bean)。由于此布线仅是声明性的,因此使用此方法对布线的控制非常有限。
@Bean用于显式声明单个bean,而不是像上面那样让Spring自动执行。它使Bean的声明与类定义脱钩,并允许你完全按照自己的选择创建和配置Bean。
要回答你的问题…
是否有可能重新使用
@Component注释而不是引入
@Bean注释?
当然可以;但他们选择不这样做,因为两者是完全不同的。spring已经很混乱了,又没有使水更浑浊了。



