Spring:@Component与@Bean我知道@Component在Spring 2.5中引入了注释,以便通过使用类路径扫描来消除xml bean的定义。@Bean是在3.0版本中引入的,可以用来@Configuration完全摆脱xml文件并使用java配置。是否可以重复使用@Component注释而不是引入@Bean注释?我的理解是,最终目标是在两种情况下都创建bean。
3 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
@Component优先 用于元件扫描和自动布线。
什么时候应该使用@Bean?
有时自动配置不是一种选择。什么时候?让我们假设您想要连接来自第三方库的组件(您没有源代码,因此您无法使用@Component注释其类),因此无法进行自动配置。
所述@Bean注释返回一个对象该弹簧应在应用程序上下文豆注册。方法的主体承担负责创建实例的逻辑。
不负相思意
TA贡献1777条经验 获得超10个赞
让我们考虑一下我需要具体的实现,具体取决于一些动态状态。 @Bean
对于那种情况是完美的。
@Bean@Scope("prototype")public SomeService someService() { switch (state) { case 1: return new Impl1(); case 2: return new Impl2(); case 3: return new Impl3(); default: return new Impl(); }}
然而,没有办法做到这一点@Component
。
添加回答
举报
0/150
提交
取消