@Configuration、@Bean、@Component 当配置类用@Component不断调用@Bean注解的方法,会new出新对象,但是并不会覆盖一开始注入spring容器中的那个对象

本文探讨了在Spring中使用@Configuration和@Bean注解时的实例化行为。当配置类仅使用@Component,@Bean方法会被多次调用但不更新已注入的bean。而当使用@Configuration或同时使用@Component和@Configuration时,@Bean方法仅执行一次。测试显示@Configuration类的@Bean方法不会因外部调用而重复执行,暗示可能存在拦截机制。
摘要由CSDN通过智能技术生成

1.一个User类,有一个有参构造,没有@Component注解
在这里插入图片描述2.一个UserConfiguration类,有一个@Bean,产生一个User对象userBean,重点注意:这里类上只用@Component还是只用@Configuration还是两个注解同时用是有区别的,在后面介绍
在这里插入图片描述

3.一个Start类,自动按类型注入一个User对象userBean,一个UserConfiguration 对象userConfiguration ,并且不断打印userBean信息,不断调用userBean()方法
在这里插入图片描述
这里用的@Autowired按类型注入,其实就算@Resource(name = “userBean”)或者@Autowired@Qualifier(“userBean”)按名字注入也不影响结果。

4.测试结果①:UserConfiguration类上只用@Component,
首先在UserConfiguration类中会执行userBean(

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值