spring组件和bean的作用域有什么区别?

时间:2018-10-22 09:30:01

标签: java spring components javabeans

组件通过@Component注释在类级别定义中使用,而Bean通过@Bean注释在构造或方法级别定义中使用。 @Component用于使用类路径扫描自动检测和自动配置bean。这意味着什么?

2 个答案:

答案 0 :(得分:0)

两个注释都用于定义Spring托管的bean。

您使用@Component来定义@Configuration之外的bean。您可以在定义组件的类的顶部应用注释。

@Component
public class MyComponent {

}

您使用@Bean@Configuration中定义一个bean。您可以在创建bean的方法之上应用注释。

@Configuration
public class MyConfig {

    @Bean
    public MyComponent myComponent() {
        return new MyComponent();
    }

}

答案 1 :(得分:0)

@Component可以用于spring来自动查找bean并注册到上下文。

@Bean-为特定bean提供实例化实现是我们的责任。