【发布时间】:2019-03-26 08:11:20
【问题描述】:
组件通过@Component注解用于类级别定义,而Bean通过@Bean注解用于构造或方法级别定义。 @Component 用于使用类路径扫描自动检测和自动配置 bean。那是什么意思?
【问题讨论】:
标签: java spring components javabeans
组件通过@Component注解用于类级别定义,而Bean通过@Bean注解用于构造或方法级别定义。 @Component 用于使用类路径扫描自动检测和自动配置 bean。那是什么意思?
【问题讨论】:
标签: java spring components javabeans
这两个注解都用于定义 Spring 托管 bean。
您使用@Component 在@Configuration 之外定义一个bean。您将注释应用到定义组件的类之上。
@Component
public class MyComponent {
}
您使用@Bean 在@Configuration 中定义一个bean。您将注释应用到创建 bean 的方法之上。
@Configuration
public class MyConfig {
@Bean
public MyComponent myComponent() {
return new MyComponent();
}
}
【讨论】:
@Component 可用于,spring 自动查找 bean 并注册到上下文。
@Bean - 我们有责任为特定 bean 提供实例化实现。
【讨论】: