spring入门:@Component @Configuration @Bean区别

1、那为什么有了@Component,还需要@Bean呢?
如果你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component注解的,因此就不能使用自动化装配的方案了,但是我们可以使用@Bean,当然也可以使用XML配置。

2、component和configuration区别

@Autowired Student student;

3、一般Bean只出现在@Configuration中

4、@Component和@Configuration区别

https://blog.csdn.net/isea533/article/details/78072133

5、

@Bean 的用法

@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里也可以用在@Component注解的类里。添加的bean的id为方法名

定义bean

下面是@Configuration里的一个例子

  1. @Configuration
    
    public class AppConfig {
    
    
    @Bean
    
    public TransferService transferService() {
    
    return new TransferServiceImpl();
    
    }
    
    
    }
    
    这个配置就等同于之前在xml里的配置
    
    <beans>
    
    <bean id="transferService" class="com.acme.TransferServiceImpl"/>
    
    </beans>
  2. @Configuration 标记的类必须符合下面的要求:

配置类必须以类的形式提供(不能是工厂方法返回的实例),允许通过生成子类在运行时增强(cglib 动态代理)。
配置类不能是 final 类(没法动态代理)。
配置注解通常为了通过 @Bean 注解生成 Spring 容器管理的类,
配置类必须是非本地的(即不能在方法中声明,不能是 private)。
任何嵌套配置类都必须声明为static。
@Bean 方法可能不会反过来创建进一步的配置类(也就是返回的 bean 如果带有 @Configuration,也不会被特殊处理,只会作为普通的 bean)。
————————————————
版权声明:本文为CSDN博主「isea533」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/isea533/article/details/78072133

发布了23 篇原创文章 · 获赞 10 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/gui694278452/article/details/104379099