千家信息网

如何快速入门SpringIoC和SpringMVC

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关如何快速入门SpringIoC和SpringMVC,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。更多内容,欢迎
千家信息网最后更新 2026年11月01日如何快速入门SpringIoC和SpringMVC

本篇文章给大家分享的是有关如何快速入门SpringIoC和SpringMVC,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

更多内容,欢迎关注微信公众号:全菜工程师小辉~

Spring的优势?

  1. 降低了组件之间的耦合性 ,实现了软件各层之间的解耦

  2. 可以使用容易提供的众多服务,如事务管理,消息服务等

  3. 容器提供单例模式支持

  4. 容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能

  5. Spring的IoC机制降低了业务对象替换的复杂性

  6. 容器提供了众多的辅助类,能加快应用的开发

  7. Spring对于主流的应用框架提供了集成支持,如Hibernate,JPA,Mybatis等

  8. Spring属于低侵入式设计,代码的污染极低, 并且独立于各种应用服务器

  9. Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可以自由选择spring的部分或全部。

为什么本文不讲AOP?

IoC和AOP是Spring框架的两大特性,IoC和MVC的流程密不可分,可以看作是面向对象编程的实现;而AOP特性则是面向切面编程的体现,也是前者的补充,所以可以拆分开后续讲解。

> 本文对SpringIoC和SpringMVC的流程进行了简单的讲解,更加详细的过程,欢迎看笔者的代码库,里面几乎每行代码都做了详细注释,一个请求debug跟下来,过程就一目了然了。

快戳我,我们去学习~

什么是SpringIoC?

控制反转IoC(Inversion of Control),是一种设计思想。没有IoC的程序中我们使用面向对象编程对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,而使用控制反转后,将对象的创建转移给第三方。

IoC是Spring框架的核心内容,使用多种方式完美的实现了IoC,可以使用XML配置,也可以使用注解,新版本的Spring也可以零配置实现IoC。Spring容器在初始化时先读取配置文件,根据配置文件或元数据创建与组织对象存入容器中,程序使用时再从IoC容器中取出需要的对象。

> 采用XML方式配置Bean的时候,Bean的定义信息是和实现分离的,而采用注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的。

SpringIoC的过程?

  1. 基础包扫描。读取配置文件,然后根据配置路径进行全包扫描,,最后将扫描到的类名加上全限定名之后加入到数组集合中

  2. 实例化所有带注解的类。遍历上一步的数组集合,判断类上的注解并实例化该类,以该类的类名为key,实例为value,放入哈希表中

  3. 依赖注入。遍历上一步的哈希表,获取类上所有Fields,遍历Fields,判断Fields上是否为@Autowired类型的注解,如果是的话就把Map中的实例赋值这个field

  4. Url地址和方法映射。遍历第二步的哈希表,如果是Controller实例,获取Methods并遍历,判断方法上是否含有@RequestMapping注解,如果含有,则获取它的值,将@Controller的注解值拼接上@RequestMapping值组成key,当前method作为value,装入hanlerMap中

  5. 请求反射调用。(这一步已经属于MVC范畴)一个url请求过来,获取它的地址,拆分,获取Controller实例,获取Method实例,反射执行Method

什么是SpringMVC?

SpringMVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是DispatcherServlet,它是一个Servlet,顶层是实现的Servlet接口。

为什么要用SpringMVC?

框架的作用一直都是用来简化编程的:
servlet只有doGet和doPost,一个servlet类只能处理一个url-pattern。
SpringMVC类里面可以通过RequestMapping处理很多请求,并且支持Rest风格的请求,如DELETE/PUT等;SpringMVC参数的映射可以直接封装成实体类。

SpringMVC的流程

流程图说明:

  1. 用户发送请求至 前端控制器DispatcherServlet。

  2. 前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping。

  3. 处理器映射器HandlerMapping根据请求的Url找到具体的处理器,生成处理器对象Handler及处理器拦截器HandlerIntercepter(如果有则生成)一并返回给前端控制器DispatcherServlet。

  4. 前端控制器DispatcherServlet通过处理器适配器HandlerAdapter调用处理器Controller。

  5. 执行处理器(Controller,也叫后端控制器)

  6. 处理器Controller执行完后返回ModelAndView。

  7. 处理器映射器HandlerAdapter将处理器Controller执行返回的结果ModelAndView返回给前端控制器DispatcherServlet。

  8. 前端控制器DispatcherServlet将ModelAnView传给视图解析器ViewResolver。

  9. 视图解析器ViewResolver解析后返回具体的视图View。

  10. 前端控制器DispatcherServlet对视图View进行渲染视图(即:将模型数据填充至视图中)

  11. 前端控制器DispatcherServlet响应用户。

MVC流程中的模块:

  1. DispatcherServlet:前端控制器(不需要程序员开发) 用户请求到达前端控制器,它相当于MVC模式中的C(Controller),DispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet的存在降低了组件之间的耦合性。
    作用:作为接受请求,相应结果,相当于转发器,中央处理器,减少其他组件之间的耦合度。

  2. HandlerMapping:处理器映射器(不需要程序员开发)
    HandlerMapping负责根据用户请求找到Handler(即:处理器),SpringMVC提供了不同的映射器实现实现不同的映射方式,例如:配置文件方式、实现接口方式、注解方式等。
    作用:根据请求的Url 查找Handler

  3. Handler:处理器(需要程序员开发)
    Handler是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下,Handler对具体的用户请求进行处理。 由于Handler设计到具体的用户业务请求,所以一般情况需要程序员根据业务需求开发Handler。

  4. HandlerAdapter:处理器适配器 通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。
    作用:按照特定的规则(HandlerAdapter要求的规则)去执行Handler

  5. ViewResolver:视图解析器(不需要程序员开发) ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名,即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面的展示给用户。SpringMVC框架提供了很多View视图类型,包括:JSTLView、freemarkerView、pdfView等等。
    作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)。

  6. View视图 (需要程序员开发 jsp)
    View是一个接口,实现类支持不同的View类型(jsp、freemarker等)一般情况下需要通过页面标签或者页面模板技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。

  7. 以上就是如何快速入门SpringIoC和SpringMVC,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

处理 控制 处理器 控制器 视图 对象 前端 程序 注解 用户 开发 配置 实例 方式 程序员 容器 框架 流程 页面 作用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网科技集团 互联网最新的科技 金诺互联网科技 互联网公司 科技公司 互联网科技logo 居家互联网科技有限公司 阿里巴巴算科技企业还是互联网 互联网系的金融科技公司 宁夏众和广鑫互联网科技有限公司 互联网金融科技展 工业互联网山东科技大学 城市宝互联网科技有限公司 本届互联网大会上的黑科技 兰石爱特工业互联网科技分公司 银川新华互联网科技学校原画 杭州科技互联网公司有哪些 华人运通互联网科技公司 网互联网络科技 科技互联网企业在行动 株洲百竞科技的互联网营销顾问 互联网科技公司税收优惠 关于新基建和互联网科技 互联网金融 金融科技 互联网科技公司电话 深圳市优智互联网科技有限公司 互联网数据科技专业 为客找房互联网科技公司怎么样 长沙渺峰互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 科技美学互联网 艺术
0