博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring原理
阅读量:3916 次
发布时间:2019-05-23

本文共 1307 字,大约阅读时间需要 4 分钟。

Spring 的概述:Spring是一个开源的轻量级的Java框架,Spring 的核心是控制反转(IoC)和向切面(AOP)EE 开发分成三层结构:* WEB 层:Spring MVC.* 业务层:Bean 管理:(IOC)* 持久层:Spring 的 JDBC 模板.ORM 模板用于整合其他的持久层框架.为什么使用 Spring:方便解耦,简化开发Spring 是一个工厂,可以将所有对象创建和依赖关系维护,交给 Spring 管理AOP 编程的支持Spring 提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能声明式事务的支持只需要通过配置就可以完成对事务的管理,而无需手动编程方便程序的测试Spring 对 Junit4 支持,可以通过注解方便的测试 Spring 程序方便集成各种优秀框架Spring 不排斥各种优秀的开源框架,内部提供了对各种框架的支持(如:Struts、Hibernate、MyBatis、Quartz 等)降低 JavaEE API 的使用难度Spring 对 JavaEE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等),都提供了封装,使这些 API 应用难度大大降低
执行流程(springmvc)1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回3. DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法)4.  提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象将对象转换为指定的响应信息数据转换:对请求消息进行数据转换。如String转换成Integer、Double等数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中5.  Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;6.  根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet ;7. ViewResolver 结合Model和View,来渲染视图8. 将渲染结果返回给客户端。

 

转载地址:http://liirn.baihongyu.com/

你可能感兴趣的文章
asp.net core 集成 prometheus
查看>>
如何在 .NET 中使用 Redis缓存
查看>>
C#阻塞队列BlockingCollection
查看>>
在传统行业做数字化转型之业务篇
查看>>
如何在 C# 中使用 RabbitMQ
查看>>
一套标准的ASP.NET Core容器化应用日志收集分析方案
查看>>
如何使用 C# 扩展方法
查看>>
C#如何回到主线程,如何在委托指定线程执行
查看>>
服务器重新部署踩坑记
查看>>
.NET应用程序安全操作概述
查看>>
C# WPF:把文件给我拖进来!!!
查看>>
.NET5发布了,腾讯招聘点名要求精通MySQL,而不是SQLServer!
查看>>
让 CefSharp.WinForms 应用程序同时支持32位(x86)和64位(x64)的解决方案
查看>>
Docker Vs Podman
查看>>
程序员过关斩将--论系统设计的高可扩展性
查看>>
如何在 Asp.Net Core MVC 中处理 null 值
查看>>
浅谈AsyncLocal,我们应该知道的那些事儿
查看>>
移动建模平台元数据存储架构演进
查看>>
Visual Studio 即时窗口实用技巧
查看>>
如何在 C# 中使用 Dapper ORM
查看>>