Spring:@Component与@Bean

Spring:@Component与@Bean

我知道@Component在Spring 2.5中引入了注释,以便通过使用类路径扫描来消除xml bean的定义。

@Bean是在3.0版本中引入的,可以用来@Configuration完全摆脱xml文件并使用java配置。

是否可以重复使用@Component注释而不是引入@Bean注释?我的理解是,最终目标是在两种情况下都创建bean。


ITMISS
浏览 1140回答 3
3回答

元芳怎么了

@Component优先 用于元件扫描和自动布线。什么时候应该使用@Bean?有时自动配置不是一种选择。什么时候?让我们假设您想要连接来自第三方库的组件(您没有源代码,因此您无法使用@Component注释其类),因此无法进行自动配置。所述@Bean注释返回一个对象该弹簧应在应用程序上下文豆注册。方法的主体承担负责创建实例的逻辑。

不负相思意

让我们考虑一下我需要具体的实现,具体取决于一些动态状态。 @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。
打开App,查看更多内容
随时随地看视频慕课网APP