一、Spring IOC、DI的概念
IOC(控制反转,全称为Inverse of Control)是一种软件设计思想,其基本思想是将资源的查找与获取的主动权从自身对象转移到第三方系统,实现对自身对象内置对象的控制反转。在Spring中,就是通过容器来管理和控制对象的生命周期和依赖关系,而不是由应用程序自己创建和管理对象。
•原来:要完成一个逻辑,A 要调用[依赖]B ,创建对象B 的动作会放在A 里面
•现在:创建B 转交给框架做。创建B 的控制权被外部控制了,而不是A 自己,叫做控制反转
DI(依赖注入,全称为Dependency Injection)是IOC的一种实现方式,它也是一种软件设计思想。在Spring中,DI是通过构造函数、setter方法、接口等方式,由容器自动将依赖对象注入到被依赖对象中。这种方式下,被依赖对象无需关心依赖对象的创建和管理,只需关注自身的逻辑和业务即可。
•框架创建好的对象B 需要给回A 进行使用,就叫做依赖注入。
二、Spring IOC、DI 注解在RuoYi中的代码使用
[IOC]注册Bean 到Spring 容器:@Componen
[DI]在SysLoginService 类中注入Bean:@Autowired
使用成员变量
三、Spring MVC的介绍
Spring MVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow中。它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口。
Spring MVC 常用注解
•@Controller/@RequestMapping/@RequestBody/@ResponseBody
•@RestController/@GetMapping/@PostMapping/@PutMapping/@DeleteMapping
•@Service
注册Controller[也是一种Bean]
•@Controller [每次前端请求返回的一个页面]
•@RequestBody[请求体为json]
•@ResponseBody[返回值为json]
•@RestController [每次前端请求返回的一个json,
等效于@Controller+@ResponseBody]
注册HTTP Method 处理函数
•@GetMapping
•@PostMapping
•@PutMapping
•@DeleteMapping
注册Service[也是一种Bean]
•@Service
四、Spring MVC在RuoYi中的代码使用
注册Controller
注册处理函数
使用ControllerCaptchaController
•Spring MVC 框架会在HTTP 请求到来时,寻找匹配URI 映射处理函数。