[Java]基于RuoYi后台管理系统的Spring IOC、DI注解使用以及Spring MVC注解使用

Spring IOC、DI注解

1.什么是 IOC、DI

IOC
  在Spring框架中,IOC(Inversion of Control,控制反转)是一种设计思想,它通过反转应用程序的控制权,实现了对象之间的松耦合。简单来说,IOC是由容器负责创建和管理对象的生命周期,而不是由程序员手动去创建和管理。
  在传统的程序设计中,对象的创建和依赖关系是由程序员在代码中直接控制的。而在IOC容器中,对象的创建和依赖关系由容器负责。这意味着,当需要某个对象时,不再由程序员主动去创建,而是由IOC容器主动将对象注入到需要的地方。
  Spring框架中的IOC容器负责管理Java对象,它实现了控制反转的概念。IOC容器主要有两种实现方式:
    BeanFactory: 这是Spring的基础IOC容器,它提供了一种简单的IOC容器实现。它在第一次请求获取Bean时进行实例化。
    ApplicationContext: 这是BeanFactory的扩展,它提供了更多的功能,包括AOP(面向切面编程)、事件传播、资源加载等。ApplicationContext在容器启动时预先实例化所有的Bean。
  通过IOC,Spring框架降低了组件之间的耦合度,使得代码更容易理解、扩展和维护。开发者只需要关注业务逻辑,而不用过多关心对象的创建和依赖关系。 IOC容器通过配置文件或注解来描述Bean的创建和依赖关系,使得整个应用的组件能够更加灵活和易于管理。
  省流版:原来要由程序员先声明对象,再调用,由程序员负责管理对象。现在Spring框架来接管这一操作,让程序员能够直接调用对象。
DI
  前面提到了IOC是一种设计思想,而DI是一种具体的实现手段、方式。在DI中,依赖关系由IOC容器在运行时动态注入到需要的组件中,而不是由组件自己去创建或查找依赖。DI通过将依赖关系从组件内部移到外部,实现了更松散耦合的设计。
  这里就用到了反射的技术,框架通过反射的手段剖析了自定义类,将类的方法和属性都提取出来,供程序员更加方便的调用和管理对象。

2.RuoYI后台管理系统中的一个例子

前情提要
  注解 在spring框架中运用广泛,下文提到的 @Component 能够实现将类注册Bean到框架中,@Autowired能够实现“自动装配”的效果,实现对Bean的调用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Spring MVC注解

1.什么是 MVC

  MVC(Model-View-Controller)是一种软件设计模式,用于将应用程序分为三个主要的组件,以便更好地组织和管理代码。这三个组件分别是:
  1.Model(模型): 负责管理应用程序的数据和业务逻辑。模型表示应用程序的状态,当状态发生变化时,模型负责通知视图和控制器。

  2.View(视图): 负责呈现模型的数据给用户,展示用户界面。视图接收模型的信息并将其呈现出来,通常以用户能够理解的形式(例如图形界面、网页等)展示。

  3.Controller(控制器): 负责接收用户输入并作出相应的响应,处理用户与应用程序之间的交互。控制器更新模型的状态,并通知视图以更新用户界面。

2.常见的Spring MVC的注解

1.Spring MVC 常用注解
   •@Controller/@RequestMapping/@RequestBody/@ResponseBody
  •@RestController/@GetMapping/@PostMapping/@PutMapping/@DeleteMapping
  •@Service
2.注册Controller[也是一种Bean]
   •@Controller [每次前端请求返回的一个页面]
   •@RequestBody[请求体为json]
   •@ResponseBody[返回值为json]
   •@RestController [每次前端请求返回的一个json,
等效于@Controller+@ResponseBody]
3.注册HTTP Method 处理函数
   •@GetMapping
   •@PostMapping
   •@PutMapping
   •@DeleteMapping
4.注册Service[也是一种Bean]
   •@Service

3.RuoYI后台管理系统中的一个例子

在这里插入图片描述
整个程序运行起来,访问http://localhost:80/system/student/list 即可调用该函数
使用apifox测试一下

也许是反向代理的原因,实际应该访问
http://localhost/dev-api/system/student/list才能够通过get请求得到数据

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值