首页 > 其他分享 >SpringBoot脚手架项目002-004.Spring IOC_权限管理系统_Spring:什么是IOC、Spring Bean、注入SpringBean的注解、bean的加载流程

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

时间:2023-02-20 13:04:37浏览次数:44  
标签:SpringBoot Spring SpringBean Bean IOC 我们 注入


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

文章目录

  • ​​SpringBoot脚手架项目002__权限管理系统​​
  • ​​前言​​
  • ​​依赖注入的例子​​
  • ​​最终我们是怎么来去克服这种问题的(逆向思维)​​
  • ​​Spring Bean​​
  • ​​声明SpringBean和注入SpringBean​​
  • ​​定义Bean,只需要记住这四个注解​​
  • ​​注入bean​​
  • ​​bean的加载流程​​

前言

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


OK,首先我们来看一下什么是Spring的IOC

我们知道一个系统其实是需要生成多个对象的对吧

然后这些对象之间都是需要进行管理和交互的

那么这样的话呢

我们其实是可以通过IOC来对对象进行管理的

所以的话呢IOC是什么意思呢

控制反转

它其实并不属于Spring

它是一个具体的一个设计思想

在我们开发中IOC就意味着你把设计好的一个对象去交给容器来控制

而不是我们之前看到的去在我们内部直接去 new 1个对象

![在这里插入图片描述](/i/ll/?i=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

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

依赖注入的例子

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

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


首先的话我们要做一个玩具汽车要做一个什么呢

要做一个汽车轮子对吧

那装完车轮子之后的话我们要做这个汽车的底盘

然后做完底盘之后我们就要做一个车架了

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

所以我们业务需求变了要求把它改成二十五让小朋友吞不进去

那这样的话就有个问题了我们这个尺寸变成了25

那我们就底盘的设计以前是根据之前的15来设计的

那现在的话呢变成25了那我这个底盘也要怎么办呢

要重新去设计然后相应的我们车架也一样了

因为我底盘变了上面这个车架也要从新去设计

这样的话就会导致一个什么问题呢

我只要一个小小的改动我后面依赖于它的全部都会要跟着变化

那该怎么办呢

我们刚才是以汽车为例子

假如是一个庞大的项目该怎么办呢,整个项目都要改吗,,肯定不可能

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


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

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

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


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

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


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


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


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

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


其中这个就叫IOC容器

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


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


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


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


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

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

Spring Bean

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

声明SpringBean和注入SpringBean

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


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

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

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

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


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

注入bean

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


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

bean的加载流程

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


标签:SpringBoot,Spring,SpringBean,Bean,IOC,我们,注入
From: https://blog.51cto.com/u_15800767/6068357

相关文章