zoukankan      html  css  js  c++  java
  • @component @bean区别

    from:

    http://stackoverflow.com/questions/10604298/spring-component-versus-bean

    http://stackoverflow.com/questions/27091553/are-bean-and-component-annotations-the-same-but-for-different-targets-in-sprin

    @Component and @Bean do two quite different things, and shouldn't be confused.

    @Component (and @Service and @Repository) are used to auto-detect and auto-configure beans using classpath scanning. There's an implicit one-to-one mapping between the annotated class and the bean (i.e. one bean per class). Control of wiring is quite limited with this approach, since it's purely declarative.

    @Bean is used to explicitly declare a single bean, rather than letting Spring do it automatically as above. It decouples the declaration of the bean from the class definition, and lets you create and configure beans exactly how you choose.

    看了一些文章,这两个注解可以互换使用,但还有一些使用目的进行区别的。

    @Component被用在要被自动扫描和装配的类上。

    @Bean主要被用在方法上,来显式声明要用生成的类。

    现在项目上,本工程中的类,一般都使用@Component来生成bean。在把通过web service取得的类,生成Bean时,使用@Bean和getter方法来生成bean。

  • 相关阅读:
    集合总结
    dagger2系列之Scope
    dagger2系列之依赖方式dependencies、包含方式(从属方式)SubComponent
    dagger2系列之生成类实例
    Dagger2系列之使用方法
    Handler系列之内存泄漏
    Handler系列之创建子线程Handler
    Handler系列之原理分析
    Handler系列之使用
    HTML标签
  • 原文地址:https://www.cnblogs.com/shamo89/p/8051350.html
Copyright © 2011-2022 走看看