@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 中的不同目标? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Spring:无法使用@Component 和@Bean 获取bean
@Component 和 @Named 都用于同一个 bean 类
Spring Framework:可以在没有@Configuration的情况下创建相同@Component的两个bean吗?
从基于配置的服务 bean 切换到基于注释的服务 bean 时的 TransactionProxyFactoryBean