目录
1、什么是Spring框架?Spring框架有哪些主要模块?
2 、 使用Spring框架有什么好处?
3、Spring MVC 工作原理
1、什么是Spring框架?Spring框架有哪些主要模块?
Spring框架是一个开源的轻量级的Java应用程序开发框架,提供了一系列的解决方案和工具来帮助开发者创建企业级应用程序。 Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。
(我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,这些模块是:核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块,如下图所示。Spring 的框架的主要目的就是简化 Java 后端开发工作。)
Spring框架之七大核心模块:
原文链接:Spring---七大核心模块 - 小白知浅 - 博客园 (cnblogs.com)
核心容器(Spring core), Spring上下文(Spring context),Spring面向切面编程(Spring AOP),Spring DAO模块,Spring ORM模块,Spring Web模块,Spring MVC框架(Spring WebMVC)。
1. Spring Core:提供了框架的基本功能,包括依赖注入(Dependency Injection)和控制反转(Inversion of Control)等。
2. Spring AOP:提供了面向切面编程(Aspect-Oriented Programming)的支持,可以实现横切关注点的模块化。支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用。
3. Spring MVC:提供了一个基于模型-视图-控制器(Model-View-Controller)的Web应用程序开发框架,用于构建Web应用程序。
4. Spring上下文(Spring context):Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,如JNDI、EJB、电子邮件、国际化、校验和调度功能。
关于另一种说法:什么是 Spring 框架?Spring框架有哪些主要模块? - 程序媛的理想人生 - 博客园 (cnblogs.com)
Spring 是什么框架? - 知乎 (zhihu.com)
2 、 使用Spring框架有什么好处?
1、预定义模板
Spring框架提供了JDBC,Hibernate,JPA等技术的模板。因此,无需编写过多的代码。它隐藏了这些技术的基本步骤。
让我们以JdbcTemplate为例,您无需编写代码来处理异常,创建连接,创建语句,提交事务,关闭连接等。您只需要编写执行查询的代码。这样,它节省了大量的JDBC代码。
2、松耦合
由于依赖项注入,Spring应用程序松散耦合。
3、易于测试
依赖注入使测试应用程序更加容易。 EJB或Struts应用程序需要服务器来运行该应用程序,但Spring框架不需要服务器。
4、轻巧
Spring框架由于其POJO而轻巧实施。 Spring Framework不会强迫程序员继承任何类或实现任何接口。这就是为什么它被称为非侵入性的。
5、快速开发
Spring Framework的依赖注入功能及其对各种框架的支持使开发变得容易
6、强大的抽象
它为JavaEE规范(例如 JMS, JDBC, JPA and JTA提供了强大的抽象。
7、声明式支持
它为以下内容提供声明式支持: 缓存,验证,事务和格式。
参考文章:Spring介绍及其优缺点(转载) - 知乎 (zhihu.com)
(15条消息) Spring简介、框架核心、优缺点、应用场景_spring框架_ThinkWon的博客-CSDN博客
什么是 Spring 框架?Spring框架有哪些主要模块? - 程序媛的理想人生 - 博客园 (cnblogs.com)
3、Spring MVC 工作原理
(网络文章,找到了的比较全的网站,贴一下)
SpringMVC流程
1、 用户发送请求至前端控制器DispatcherServlet。
2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
4、 DispatcherServlet调用HandlerAdapter处理器适配器。
5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
6、 Controller执行完成返回ModelAndView。
7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
9、 ViewReslover解析后返回具体View。
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
11、 DispatcherServlet响应用户。
SpringMVC中的核心组件
(1)前端控制器:DispactherServlet
(2)处理器映射器:HandlerMapping
(3)处理器适配器:HandlerAdapter
(4)处理器:Handler,
(5)视图解析器:ViewResolver
(6)视图:View
组件的介绍
- 前端控制器:接收请求、响应结果,相当于转发器,它是SpringMVC框架最核心的组件,有了它就能减少其他组件之间的耦合度。(不需要程序员开发)
- 处理器映射器:根据配置的映射规则(根据请求的URL),找到对应的处理器。(不需要程序员开发)
- 处理器适配器:适配调用具体的处理器,并且执行处理器中处理请求的方法,执行完毕之后返回一个ModelAndView对象。
- 处理器:(需要程序员手动开发)。
- 视图解析器:会根据传递过来的ModelAndView对象进行视图解析,根据视图解析名解析称真正的视图View。(不需要程序员开发)
- 视图:View是一个接口,它的实现类支持不同类型的视图。比如:JSP、freemarker、Thymeleaf等等。
原文链接:http://t.csdn.cn/sfXYo
SpringMVC工作原理 - 知乎 (zhihu.com)