`
Kingson_Wu
  • 浏览: 119515 次
文章分类
社区版块
存档分类
最新评论

Spring Notes

 
阅读更多

Spring MVC 4.0之DispatcherServlet

http://my.oschina.net/u/1387193/blog/283676
+ Spring的DispatcherServlet继承自HttpServlet,因此本质上是一个Servlet。DispatcherServlet负责接收请求然后转发给对应的Controller进行处理。
+ DispatcherServlet所在的context和全局context的关系。全局Context是由ContextLoaderListener初始化的,一般加载的是项目基础,通用的Bean。Spring MVC可以有多个DispatcherServlet实例,每一个都有自己独立的WebApplicationContext,这里面主要是Controller,HandlerMapping,ViewResolver。全局WebApplicationContext与DispatcherServlet的WebApplicationContext之间是父子关系,子可以获取到,覆写父中定义的Bean.
+ spring的DispatcherServletk类在检测过程中检测到URL和保存的一致,是否可以说,是获取对应的controller object类,再用反射调用对应的方法?如果是,和直接使用servlet相比就稍慢了点?
引用来自“guor”的评论
对于方法的调用,我不觉得这个会慢的,在启动spring容器的时候,会将url映射到Method,后面请求到来之后,直接调用Method,与直接调用servlet相比,是多出了一些操作,直接servlet仅仅将请求原始数据包装成内置对象HttpServletRequest、HttpServletResponse等等,而spring还会多出一些操作,解析到具体参数,多做的工作非常的有限,所以这个并不会有多大的效率问题
guor 说的是正确的。正确的流程是 你标志@Controller的类会被Spring 生成一个代理类,这个类的所有RequestMapping url 会在启动的时候解析到内存中, 简单理解 key value的map行驶,key 为url value 为 Method 对象,所以请求来之后 直接通过url get到Mehtod对象,然后调用方法。因为Spring生成代理类帮你完成了一些功能,多做了一些事 当然比你不做要慢一点。
http://www.oschina.net/question/1273973_2136195


DispatcherServlet请求转发的实现http://blog.csdn.net/luqin1988/article/details/9015477
request通过Controller获取ModelAndView过程http://www.cnblogs.com/davidwang456/p/4119314.html
详解SpringMVC中Controller的方法中参数的工作原理http://www.cnblogs.com/fangjian0423/p/springMVC-request-param-analysis.html


spring的实现原理:
1.对象参数是使用反射去设值的吗,那岂不是会导致接口性能慢?
2.对于基本数据类型参数的怎么赋值?因为编译期间参数名已经被擦除了。

http://www.oschina.net/question/990335_178496?fromerr=l7oEdMI3
http://www.cnblogs.com/HD/p/4107674.html
http://jinnianshilongnian.iteye.com/blog/1698916

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    Assessment:Linux夏令营-Spring Notes-评估

    【标题】Linux夏令营-Spring Notes-评估 在本次Linux夏令营中,我们重点关注了Spring框架,这是一个广泛使用的Java应用程序开发框架,特别适用于构建企业级应用。Spring以其模块化、灵活的设计以及对依赖注入的支持...

    SpringFramework Notes For Professionals(对于专业人士的Spring笔记)

    SpringFramework是一款开源的Java平台,它为现代Java应用程序提供了全面的编程和配置模型。该框架的目的是简化企业级应用开发,例如支持依赖注入(DI)、事务管理、数据访问和Web层的抽象等。Spring Framework的核心...

    Spring iBatis Learning Notes

    ### Spring与iBatis整合学习笔记 #### 一、目的 本文档旨在展示如何在数据库层面上使用iBatis与Spring进行整合。数据库编程通常涉及数据库连接、连接池、SQL语句、输入输出以及事务处理等内容。Java JDBC作为低...

    Spring-Framework-Notes-For-Professionals.pdf

    以上是对“Spring-Framework-Notes-For-Professionals.pdf”文档内容的知识点提取和详细解释,涉及Spring框架的基本概念、核心特性、配置方式、Bean的创建与作用域、条件注册、数据验证、上下文配置以及网络服务调用...

    spring-core-cert-notes-4.2, 关键认证 spring 专业认证研究笔记 4.2.zip

    spring-core-cert-notes-4.2, 关键认证 spring 专业认证研究笔记 4.2 spring-核心认证说明我的笔记中有我的笔记,我创建了一部分,我做为认证的一部分。 你可以随意编辑任何错误,错误或者错误,并创建一个请求请求...

    spring_liu_MyNotes_sample

    该应用程序模拟了一个简单的便签管理器(Notes Manager),用户可以在此应用中添加、查看和删除便签。虽然我们对应用程序的功能性不做过多关注,但通过构建这样一个应用程序,读者可以学习到以下关键知识点: #### ...

    spring-framework-notes-for-professionals-book.pdf

    spring框架的官方使用说明文档

    Spring Boot笔记

    此时,我们可以参考GitHub上的笔记链接(https://github.com/xyzBits/SpringBoot/blob/master/src/main/resources/notes/Spring%20Boot%E7%AC%94%E8%AE%B0.md)来进行详细的环境配置。该文档可能包含了如何解决环境...

    【连续体动力分析课件】spring-me-intro-vib-deformable-solids-course-notes

    【连续体动力分析课件】2018_spring_me_5134_intro_vib_deformable_solids_course_notes.pdf 【连续体动力分析课件】2018_spring_me_5134_intro_vib_deformable_solids_course_notes.pdf 【连续体动力分析课件】2018...

    spring-batch-3.0.5.RELEASE-dist.zip

    - 3.0.5.RELEASE相较于之前的版本,可能包含bug修复、性能优化和新功能的添加,具体可以参考官方的Release Notes获取详细信息。 综上所述,Spring Batch 3.0.5.RELEASE 提供了一套强大而灵活的批处理解决方案,...

    notes_spring:使用Spring MVC和Spring Security实施重建Notes项目

    在本项目"notes_spring"中,我们主要探讨如何利用Spring MVC和Spring Security这两个核心的Java框架来构建一个功能完善的Web应用程序。Spring MVC是Spring框架的一部分,专门用于处理Web请求和响应,而Spring ...

    YiDoctor#yim-notes#08-必会框架-Spring全家1

    【7-1】必会框架-Spring全家主要内容一 SpringSpring学习笔记:【01】Spring5基本内容和配置使用【02】SpringMVC学习笔记【0

    Notes on Data Structures and Programming Techniques.pdf

    【数据结构】 数据结构是计算机科学中的核心概念,它涉及到如何有效地组织和管理大量数据。这门课程可能深入探讨数组、链表、栈、队列、树(如二叉树、平衡树如AVL树和红黑树)、图以及哈希表等经典数据结构。...

    spring-notes:用于演示Spring Boot的简单CRUD API

    "spring-notes" 可能是一个项目或者教程,用于演示如何在 Spring Boot 中实现基本的 CRUD(创建、读取、更新、删除)操作。 在 Spring Boot 中,我们可以利用 Spring Data JPA 和 Hibernate 这样的 ORM(对象关系...

    spring-framework-4.1.6.RELEASE-dist

    Release Notes | Project Page | GitHub | Issues | Documentation Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。 该框架...

    Spring-notes:这是学习Spring框架的笔记

    Spring-notesthis is a note for learning Spring framework从今天开始温习Spring框架知识,为了便于归纳和整理知识在github建立了这个工程。

    Discrete Mathematics (Lecture Notes, Yale University, Spring 1999)

    ### 离散数学知识点概览 #### 一、引言 - **离散数学**是一门研究可以取离散值的对象的数学分支,与连续数学(如微积分)相对应。 - 这些讲义来自耶鲁大学1999年春季学期的课程,由László Lovász和Katalin ...

    java8集合源码分析-spring-boot-notes:springboot的学习过程

    spring-boot-notes 用于记录学习、使用 Spring Boot 框架。 主要内容是 Spring Boot 框架的一些特性、小功能的实现、常用框架的整合等。 Spring Boot版本:2.X JDK版本:8 开发工具:IntelliJ IDEA A.hello 你好,...

    SpringBoot2-StudyNotes:我的Spring Boot学习笔记

    通过这份"SpringBoot2-StudyNotes"的学习资料,你可以深入理解Spring Boot 2的关键概念、配置方式以及如何利用其特性构建高效的应用。同时,通过阅读源代码和实践案例,能够提升你的Java开发能力,使你更加熟练地...

    MA615 Numerical Methods for PDEs Spring 2022 Lecture Notes.pdf

    《数值方法用于偏微分方程》是针对MA615课程的一份春季2022学期的讲义,由普渡大学数学系的张翔雄教授撰写。这份讲义详细探讨了如何用数值方法来解决偏微分方程(PDEs),是理解和应用这些方法的重要参考资料。...

Global site tag (gtag.js) - Google Analytics