[Spring] 2. SpringBean的配置详解

声明☕️

此系列博客是博主的个人学习总结和相应的学习笔记,视频课程来源于

SpringBean 的配置详解

请添加图片描述

  1. ⬇️图中的applicationContext.getBean(“userService”);里的 “userService”其实不是< bean id =“” class=“”>中的id,而是Bean name。因为,我先前配的id会转成Bean name而已。
    请添加图片描述请添加图片描述
  2. ⬇️一个Bean可以有多个name,就像人可以有多个小名一样。⚠️:所以说,当使用
    .getBean(“”)获取Bean的时候可以使用id获取,也可以使用name获取。

请添加图片描述

  1. ⬇️scope是Bean的作用范围,Bean在默认情况下,其实就存在一个,就是当例的,产生一个Bean对象放入容器之中(Map),当程序员要获取的时候就把这一个取出。但是可以修改scope,让spring容器产生Bean的时候可以产生多个,那么多个就没有办法存在容器里面了。也就是说,每次getBean(“”)的时候会创建一个新的Bean返回给程序员。因为,想要生成多个Bean中的“多个”没有确切的数字,若Bean生成了“一堆”放到了容器中但是程序员用不着,会造成资源浪费。综上:默认在容器(Map)中就存在一个Bean对象,但需要多个时,可以改变scope值,但改变了scope值会导致每次调用getBean(“”)会创建新的Bean对象。请添加图片描述
  2. ⬇️延迟加载:当使用ApplicationContext的时候,默认情况下,配置文件一加载,容器一创建,Bean就会全部创建完毕,且放到一个位置里,等待.getBean(“”)获取,也就是说提前给程序员缓存完毕⚠️:但是,如果某些Bean,在配置时配置了lazy-init=“true”,意味着不需要在加载配置文件以后就直接把Bean创建好,而是在.getBean(“”)的时候把Bean创建好,给程序员用(跟BeanFactory一样)。
    请添加图片描述
  3. ⬇️初始化方法:当Bean创建完毕之后,可能需要初始化的操作,就可以使用配置的方式,指定这个Bean的内部的哪个方法可以作为初始化方法。当以这样的方式创建完Bean之后,Spring会自动帮程序员调用初始化方法。⚠️:(构造方法?构造方法是构造对象用的,初始化方法是等对象创建完毕之后再帮你调用初始化的方法。也就是说,构造方法和初始化方式之间是有时间差的。)
    请添加图片描述
  4. ⬇️Bean在销毁之前运行的方法。请添加图片描述
  5. ⬇️autowire:自动注入,之前的注入需要配置,property,通过具体实现类的set方法注入。如果,不配置property的情况下,在想让Spring在容器当中自动找到程序员想要的Bean对象注入到另外一个Bean对象中的话,可以使用autowire=“byType或byName”,配置完毕autowire之后,Bean内部有对应的set方法,会自动的从容器当中找类型匹配的或名字匹配的这个Bean自动注入进去。好处就是不用人为的写property而进行注入。请添加图片描述
  6. ⬇️涉及的是Bean的创建方式。请添加图片描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chae_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值