SpringBoot脚手架项目002-004.Spring IOC_权限管理系统_Spring:什么是IOCSpring Bean注入SpringBean的注解bean的加载流程

Posted 平凡加班狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot脚手架项目002-004.Spring IOC_权限管理系统_Spring:什么是IOCSpring Bean注入SpringBean的注解bean的加载流程相关的知识,希望对你有一定的参考价值。

SpringBoot脚手架项目002__权限管理系统

前言


OK,首先我们来看一下什么是Spring的IOC
我们知道一个系统其实是需要生成多个对象的对吧
然后这些对象之间都是需要进行管理和交互的
那么这样的话呢
我们其实是可以通过IOC来对对象进行管理的
所以的话呢IOC是什么意思呢
控制反转
它其实并不属于Spring
它是一个具体的一个设计思想
在我们开发中IOC就意味着你把设计好的一个对象去交给容器来控制
而不是我们之前看到的去在我们内部直接去 new 1个对象
![在这里插入图片描述](https://img-blog.csdnimg.cn/4ec23a323279464483d0be828fdfbb3f.png?x-oss- process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bmz5Yeh5Yqg54-t54uX,size_20,color_FFFFFF,t_70,g_se,x_16)

但大家可能觉得好像感觉这个概念比较抽象对吧
所以我们要想理解IOC的话,首先要理解DI
依赖注入简称是DI

依赖注入的例子

依赖注入的话呢我们举个简单的例子我这里边以玩具小汽车为例子来为大家去展示什么是依赖注入

首先的话我们要做一个玩具汽车要做一个什么呢
要做一个汽车轮子对吧
那装完车轮子之后的话我们要做这个汽车的底盘
然后做完底盘之后我们就要做一个车架了

当然了在这个过程中的如果发生一些意外就会有一些问题
比方说这个轮子我们突然间发现一个问题
什么轮子太小了比方说我现在是15的一个尺寸轮胎小了
小朋友拿着可能会把这个轮子推送到嘴里

所以我们业务需求变了要求把它改成二十五让小朋友吞不进去
那这样的话就有个问题了我们这个尺寸变成了25
那我们就底盘的设计以前是根据之前的15来设计的
那现在的话呢变成25了那我这个底盘也要怎么办呢
要重新去设计然后相应的我们车架也一样了
因为我底盘变了上面这个车架也要从新去设计
这样的话就会导致一个什么问题呢
我只要一个小小的改动我后面依赖于它的全部都会要跟着变化
那该怎么办呢
我们刚才是以汽车为例子
假如是一个庞大的项目该怎么办呢,整个项目都要改吗,,肯定不可能

最终我们是怎么来去克服这种问题的(逆向思维)


而依赖注入就是类似于这样



从上面的代码我们可以得出一个结论就是:父类不要写死,具体子类用的时候(子类)再传参

其中这个就叫IOC容器




以上这个在这里不是重点,我们不去研究

Spring Bean

声明SpringBean和注入SpringBean


他变成了Spring之后,我们怎么去注入呢?

定义Bean,只需要记住这四个注解


有了bean之后还不够我们还需要把它注入到具体要用的方法里面去

注入bean


bean的加载流程

以上是关于SpringBoot脚手架项目002-004.Spring IOC_权限管理系统_Spring:什么是IOCSpring Bean注入SpringBean的注解bean的加载流程的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot+Vue+AntDesign前后端分离项目脚手架

SpringBoot+Vue+AntDesign前后端分离项目脚手架

SpringBoot脚手架项目002-004.Spring IOC_权限管理系统_Spring:什么是IOCSpring Bean注入SpringBean的注解bean的加载流程

springboot + mybatis + gradle项目构建过程

Java项目:角色权限后台脚手架系统(java+Springboot+Maven+myBaits-Plus+Vue+Element-UI+Mysql)

Java项目:角色权限后台管理系统脚手架(java+springboot+freemark+jpa+maven+Mysql)