spring 组件和 bean 的作用域有啥区别? [复制]
Posted
技术标签:
【中文标题】spring 组件和 bean 的作用域有啥区别? [复制]【英文标题】:What is the difference between spring component and bean's scope? [duplicate]spring 组件和 bean 的作用域有什么区别? [复制] 【发布时间】:2019-03-26 08:11:20 【问题描述】:组件通过@Component
注解用于类级别定义,而Bean通过@Bean
注解用于构造或方法级别定义。 @Component 用于使用类路径扫描自动检测和自动配置 bean。那是什么意思?
【问题讨论】:
【参考方案1】:这两个注解都用于定义 Spring 托管 bean。
您使用@Component
在@Configuration
之外定义一个bean。您将注释应用到定义组件的类之上。
@Component
public class MyComponent
您使用@Bean
在@Configuration
中定义一个bean。您将注释应用到创建 bean 的方法之上。
@Configuration
public class MyConfig
@Bean
public MyComponent myComponent()
return new MyComponent();
【讨论】:
【参考方案2】:@Component
可用于,spring 自动查找 bean 并注册到上下文。
@Bean
- 我们有责任为特定 bean 提供实例化实现。
【讨论】:
以上是关于spring 组件和 bean 的作用域有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章