springboot脚手架项目002-004.springioc_权限管理系统_spring:什么是iocspringbean注入springbean的注解bean的加载流程

平凡加班狗 平凡加班狗     2023-01-20     753

关键词:

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的加载流程

javaspringboot项目的创建和使用(代码片段)

文章目录SpringBoot的创建和使用1.什么是SpringBoot?为什么要学SpringBoot?2.SpringBoot项目的优点3.SpringBoot项目的创建3.1使用idea创建3.2接下来创建SpringBoot项目4.项目目录介绍和运行4.1运行项目4.2输出内容5.总结SpringBoot的创建和... 查看详情

springboot+vue+antdesign前后端分离项目脚手架

项目介绍一款Java语言基于SpringBoot2.x、MybatisPlus、Vue、AntDesign、MySQL等框架精心打造的一款前后端分离框架,致力于实现模块化、组件化、可插拔的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统&#... 查看详情

springboot搭建实际项目开发中的脚手架(代码片段)

...源丨武哥聊编程前面的文章中,我主要给大家讲解了SpringBoot中常用的一些技术点,这些技术点在实际项目中可能不会全部用得到,因为不同的项目可能使用的技术不同,但是希望大家都能掌握如何使用,并能... 查看详情

springboot2.0+vue脚手架项目源码,中小型管理系统开发神器。

...闭、统一异常处理等技术特点。后台技术架构基于最新的SpringBoot2.0、MyBatis、Shiro、Element2.0+框架,开发的一套权限系统,极低门槛 查看详情

springboot2.0+vue脚手架项目源码,中小型管理系统开发神器。

...闭、统一异常处理等技术特点。后台技术架构基于最新的SpringBoot2.0、MyBatis、Shiro、Element2.0+框架,开发的一套权限系统,极低门槛 查看详情

springboot脚手架项目002-004.springioc_权限管理系统_spring:什么是iocspringbean注入springbean的注解bean的加载流程

SpringBoot脚手架项目002__权限管理系统文章目录SpringBoot脚手架项目002__权限管理系统前言依赖注入的例子最终我们是怎么来去克服这种问题的(逆向思维)SpringBean声明SpringBean和注入SpringBean定义Bean,只需要记住这四个... 查看详情

java项目:角色权限后台脚手架系统(java+springboot+maven+mybaits-plus+vue+element-ui+mysql)

 Springboot框架+myBaits-Plus+MySQL实现的角色权限后台管理脚手架系统实战项目,实现的是所有系统最基础的后台管理功能,有了这个脚手架,以后开发别的项目就在这上面快速增加功能即可。本系统主要实现的功能... 查看详情

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

...理、日志管理、数据库备份等等。涉及的知识点有:springboot框架原理、freemark模板标签语法、jpa数据库操作及自动建表、统一上传文件实现方法、自定义注解实现统一验证方法、权限拦截器实现权限统一管理、自定义分页插... 查看详情

客快物流大数据项目(一百零九):springboot概述

文章目录SpringBoot概述一、什么是SpringBoot二、为什么要学习SpringBoot三、SpringBoot的特点SpringBoot概述一、什么是SpringBootSpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework同属于spring的产品:首页SpringBoot简介... 查看详情

tyboot-基于springboot的快速开发脚手架

...喜欢,可以给个star让更多人看到。介绍tyboot是一个基于springboot的服务端脚手架,面向单体服务快速开发,需要微服务方案的可以看另一个项目tycloud(还在完善中)特点1.简化基础业务开发过程a.针对单表查询,不用写sq 查看详情

微服务构建:springboot

第2章 微服务构建:SpringBoot 1.框架简介 通过Maven等构建工具来创建针对不同场景的脚手架工程,在需要新建项目时通过这些脚手架来初始化我们定义的标准工程,并根据需要 做一些简单的修改以达到简化原有配置过程的效果... 查看详情

用springboot简单搭建一个微服务项目

...进行具体介绍之前,我们会对SpringCloud微服务的基础SpringBoot进行介绍。SpringBoot是Spring一套快速配置开发的脚手架,可以基于SpringBoot快速集成开发单个Spring应用。SpringCloud是基于Spr 查看详情

一款不错的springcloud脚手架项目

...3.2git辅助脚本I一款不错的SpringCloud脚手架项目1.1项目概述springboot+springcloud注册中心:nacos网关:gatewayRPC:feign可插拔功能 查看详情

基于springboot的服务端开发脚手架-自动生成工具

...​​从零开始搭建grpc分布式应用​​完整DEMO:​​基于Springboot的Rpc服务端开发脚手架(base-grpc-framework)​​后带来一款项目自动手成工具(由于包路径等原因,完整demo想应用在实际开发中需要改很多代码),可以设置成自己公... 查看详情

springboot是如何管理项目中的依赖

1、通过SpringInitializer创建好一个基于SpringBoot的脚手架项目时,我们发现,在pom.xml文件中,有一个的标签,如下图所示:2、点击上图artifactId标签中的spring-boot-starter-parent,会跳转到spring-boot-starter-parent-2.5. 查看详情

#springboot背景分析,解决问题以及关键特性

SpringBoot简介:SpringBoot是一个基于spring框架的脚手架,在这个脚手架中已经做好了spring工程中需要的一些基础工作;例如:一些基础的配置,依赖,监控等功能,其主要作用就是为了简化spring对资源整合的过程,实现快速的业务... 查看详情

springboot搭建的一个企业级快速开发脚手架

...,面向学习型,面向微服的开源JavaEE开发框架。BootDo是在SpringBoot基础上搭建的一个Java基础开发平台,MyBatis为数据访问层,ApacheShiro为权限授权层,Ehcahe对常用数据进行缓存。BootDo主要定位于后台管理系统学习交流,已内置后台... 查看详情

springboot项目一般选择前后端分离好还是整合freemarker?

springboot项目一般选择前后端分离好?还是整合freemarker?现在项目采用哪种模式多一些啊?并没有好与不好,只有合适与不合适;你要看你的项目的应用场景,开展的具体业务类型;是小型项目,还是一定规模的项目,是你自己... 查看详情