前言
本博客是博主用于学习Spring的博客,如果疏忽出现错误,还望各位指正。
Bean
Bean的概念
Bean的详解,可以参考这篇文章。
【SpringBoot】Bean 是什么?_sptingboot bean 是什么-CSDN博客
Bean 作为 Spring框架面试中不可或缺的概念,其本质上是指代任何被 Spring 加载生成出来的对象。(本质上区别于 Java Bean,java Bean 是对于 Java 类的一种规范定义)
Spring Bean 代表着 Spring 中最小的执行单位,其加载、作用域、生命周期的管理都由 Spring 操作。可见 Spring Bean 在整个 Spring 框架中的重要地位。
我们为了便于理解IoC思想,可以将IOC容器管理的Java对象称为Spring Bean,认为与使用new创建的对象无任何区别。
Bean的设计目的
在了解 Spring 是如何管理 Bean 组件之前,有必要了解为什么 Spring 需要设计出来这么一套机制。假设咱们是某个大家族里的公子,家里有一位无微不至的大管家,无论你需要什么,只要跟管家说一下,他就能给你找来。
有一天,你突然想吃帝王蟹,就让管家去搞,管家听到命令后,很快啊!给你搞来了……
至于管家到底是抓来的、还是买来的,作为少爷的你自然是不关注的。
与此相类似的,如果把程序员想象成少爷,那么 Spring就是我们忠诚的管家先生。当我们需要用容器内的对象时,只需要“告诉” Spring,Spring 就能自动帮我们加载,我们则无需考虑这个 Bean 到底是如何加载的、什么时候回收等细节逻辑。我们只需要使用即可。由此一来,降低了使用门槛,也减少了对于细节的一些管理。
控制反转(Inversion of Control,缩写为IoC)
引入实例
在介绍IoC思想前我们首先来看一个例子,参考来源06.入门-入门案例实现步骤_哔哩哔哩_bilibili
一般,作为Java初学者的我们,在调用一个类中的方法时,一般都要手动new一个类,然后去调用那个方法,然而,Spring为我们提供了一种不用手动new的方式,去调用这个方法。