@Configuration和@Component的区别

文章讲述了在Spring框架中,@Configuration和@Component以及@Bean注解的使用和区别。@Configuration注解的类用于定义配置,其内部@Bean方法创建的bean由Spring容器管理,返回的是单例。而@Component注解的方法每次调用会产生新实例。配置类需遵循特定规则,如非final,非本地等。
摘要由CSDN通过智能技术生成

这俩干嘛的????

@Component和@Configuration 都可与用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。


直接开始总结:

@Configuration注解类下的所有带着@Bean的方法都会被动态代理,因此调用该方法返回的都是同一个实例。

@Component类中的@Bean注解得方法被调用返回的是一个新的实例。

区别@Bean注解得方法被调用返回的新的(旧的)实例。@Configuration 旧的 @Component新的

@Configuration注解得类必须符合以下的要求:

  • 配置类必须以类的形式提供(不能是工厂方法返回的实例),允许通过生成子类在运行时增强(cglib 动态代理)。

  • 配置类不能是final 类(没法动态代理)。

  • 配置注解通常为了通过 @Bean注解生成 Spring 容器管理的类,

  • 配置类必须是非本地的(即不能在方法中声明,不能是 private)。

  • 任何嵌套配置类都必须声明为static。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值