news 2026/4/18 9:40:40

SpringIoc

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringIoc

Spring的核心思想IOC和AOP

IOC是啥

IOC全称Inversion of Control (控制反转),也就是说Spring是⼀个"控制反转"的容器

说人话就是,我们使用spring框架的时候,不需要再去new来创建对象,而是交给IOC容器,我们需要使用的时候,只需要注入(DI)即可

举例

代码

这样写,虽然是可以实现功能,但是他的耦合性太强了,如果我要修改其中的任意一个东西,就会牵扯到其他的,如果需求一直变动,那么我们的工作量机会非常大

如何解决

IOC

这样就解耦和了,每个修改都不会影响到其他的,每个都更加独立

IOC的优势

这里的控制就进行了反转,这就是典型的IOC思想,使每个都更加解耦和独立

如何使用IOC

Bean的存储

分为两类注解,一类是类注解,一类是方法注解

@Controller

如何在启动类中获取到Bean

有很多种方式,我们使用最多的是前三种

第一步

先使用ApplicationContext来接收启动类的返回值

第二步
第一种方式

直接输入类型,获取到这个类的实例,弊端也很明显,如果出现多个同个类型的就会报错

第二种方式

极易出错,这个需要注意这个name里面填写的不是你的类的名字,而是你交给spring管理的时候,他给你写的默认名字,一般来说,会把你的类名改成小驼峰的格式,如果你类名的前两个字母是大写的,就会把你的类名做为默认生成的

第三种方式

指定类和实例的名字,这个可以做到指哪打哪,这里写的name也是和上面的规则一样,否则也会报错

通过@controller,把对象交给spring去管理

@Service

@Repository

@Conponet

@Configuration

运行结果

这五个注解,都是可以让spring管理对象的,唯一有区别的是在控制层必须使用controller,否则就会出现无法访问的情况

只要改controller就可以正常使用

Controller用于控制层(元注解)

衍生注解

Service用于业务逻辑控制层

Repository用于数据层

Configuration用于配件层

Component用于组件层

这五层的逻辑分的不是很清晰,除了控制层必须要使用controller,其他的行,最后按照规范来写,每个对应在那就写那即可

方法注解

@Bean

Bean注解是方法注解

但是无法单独使用,必须配合类注解才可以使用

配合注解之后即可正常使用

多个对象问题

依旧报错,如何解决这个问题

第一种

因为bean注解交给spring的时候,默认使用的是方法名,所以只要方法名不一样,name就不会报错

第二种方法,重命名

依旧可以解决这个问题,注意重命名可以是一个数组,在一个名字的时候,可以省略掉{}

可以命名成一个数组,多的时候不可以省{ }

扫描路径

Spring只会扫描和启动类同级别的或者是启动类的子孙目录

如果启动类在某一个包之内,就会导致其他的代码无法运行,所以一般最好把启动类单独写出来,放到外面,确保每一个类都可以被spring扫描

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:35:42

基于Springboot校园悬赏任务服务平台【附源码+文档】

💕💕作者: 米罗学长 💕💕个人简介:混迹java圈十余年,精通Java、小程序、数据库等。 💕💕各类成品Java毕设 。javaweb,ssm,springboot等项目&#…

作者头像 李华
网站建设 2026/4/18 7:41:11

当1200 PLC遇上质子膜压机:一个工控项目的实战拆解

西门子plc,西门子1200系列 西门子自动贴合机 伺服力矩控制,真空腔体控制,加热烘烤控制,配方功能,等 西门子1200 质子膜压机项目,包含上下料程序案例 1、梯形图SCL混合编程; 2、两个S7-1200主从站…

作者头像 李华
网站建设 2026/4/18 5:17:32

昆仑 MCGS 与台达 B2 伺服通过 Modbus RTU 通讯控制教程

昆仑mcgs 通讯控制台达B2伺服采用modbus rtu方式,昆仑屏直接控制台达b2伺服的正反转,停止及速度设定,简单好上手,a2 伺服也可以用,内容包含程序,教程,接线及参数设置最近在搞自动化控制这块&…

作者头像 李华
网站建设 2026/4/18 5:34:16

相场模拟在选择性激光烧结与激光熔覆中对凝固枝晶生长的探索

相场模拟 选择性激光烧结 激光融覆 凝固 枝晶生长在材料加工领域,选择性激光烧结(SLS)和激光熔覆(Laser Cladding)技术正日益展现其重要性。而相场模拟,作为一种强大的数值模拟方法,为我们深入理…

作者头像 李华
网站建设 2026/4/18 5:37:21

DSP28335电机控制 TMS320F28335电机驱动,运动控制 采用TMS320F283...

DSP28335电机控制 TMS320F28335电机驱动,运动控制 采用TMS320F28335作为主控 支持永磁同步电机控制,无刷电机控制,有刷电机控制 支持有刷电机,电流,速度闭环控制 无刷电机,无感,霍尔&#xff0c…

作者头像 李华