@Bean 和 @Component 注释是不是相同但针对 Spring Framework 中的不同目标? [复制]

Posted

技术标签:

【中文标题】@Bean 和 @Component 注释是不是相同但针对 Spring Framework 中的不同目标? [复制]【英文标题】:Are @Bean and @Component annotations the same but for different targets in Spring Framework? [duplicate]@Bean 和 @Component 注释是否相同但针对 Spring Framework 中的不同目标? [复制] 【发布时间】:2015-01-21 09:08:48 【问题描述】:

我认为@Bean 和@Component 注释是一样的,但第一个是用于类,另一个是用于方法?

在这两种情况下,容器只会创建适当的 bean,对吗?

【问题讨论】:

【参考方案1】:

不完全是。它们属于不同的概念。

@Component 是一个原型注解。使用此注释注释的类将在类路径扫描期间自动检测到。另请参阅 Spring 参考文档第 5.10 章。除此之外,@Bean 注释属于 Java 配置特性。在配置类中,此注解用于标记定义 bean 的方法。

【讨论】:

比链接的重复问题更好的答案。通过简单的示例,这里的答案仍然会更好:)

以上是关于@Bean 和 @Component 注释是不是相同但针对 Spring Framework 中的不同目标? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

@Component 和 @Bean 的区别

Spring:无法使用@Component 和@Bean 获取bean

@Component 和 @Named 都用于同一个 bean 类

Spring注释配置Bean

Spring Framework:可以在没有@Configuration的情况下创建相同@Component的两个bean吗?

从基于配置的服务 bean 切换到基于注释的服务 bean 时的 TransactionProxyFactoryBean