相关内容:
架构师系列内容:架构师学习笔记(持续更新)
一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程)
一步一步手绘Spring IOC运行时序图二(基于XML的IOC容器初始化)
一步一步手绘Spring IOC运行时序图三(基于Annotation的IOC容器初始化)
一步一步手绘Spring DI运行时序图(Spring 自动装配之依赖注入)
一步一步手绘Spring AOP运行时序图(Spring AOP 源码分析)
一步一步手绘Spring MVC运行时序图(Spring MVC原理)
Spring MVC 使用优化建议

1、Controller 如果能保持单例,尽量使用单例
这样可以减少创建对象和回收对象的开销。也就是说,如果 Controller 的类变量和实例变量可以以方法形参声明的尽量以方法的形参声明,不要以类变量和实例变量声明,这样可以避免线程安全问题。

2、处理 Request 的方法中的形参务必加上@RequestParam 注解
这样可以避免 Spring MVC 使用 asm 框架读取 class 文件获取方法参数名的过程。即便Spring MVC 对读取出的方法参数名进行了缓存,如果不要读取 class 文件当然是更好。

3、缓存 URL
阅读源码的过程中,我们发现 Spring MVC 并没有对处理 url 的方法进行缓存,也就是说每次都要根据请求 url 去匹配 Controller 中的方法 url,如果把 url 和 Method 的关系缓存起来,会不会带来性能上的提升呢?有点恶心的是,负责解析 url 和 Method 对应
关系的 ServletHandlerMethodResolver 是一个 private 的内部类,不能直接继承该类增强代码,必须要该代码后重新编译。当然,如果缓存起来,必须要考虑缓存的线程安全问题。

Spring MVC 使用优化建议相关推荐

  1. Spring MVC 使用优化建议-缓存URL

    阅读源码的过程中,我们发现Spring MVC 并没有对处理url 的方法进行缓存,也就是说每次都要根据请求url 去匹配Controller 中的方法url,如果把url 和Method 的关系缓存 ...

  2. 一步一步手绘Spring MVC运行时序图(Spring MVC原理)

    相关内容: 架构师系列内容:架构师学习笔记(持续更新) 一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程) 一步一步手绘Spring IOC运行时序图二(基于XM ...

  3. 一步一步手绘Spring MVC运行时序图

    Spring MVC 初体验 初探Spring MVC 请求处理流程 Spring MVC 相对于前面的章节算是比较简单的,我们首先引用<Spring in Action>上 的一张图来了 ...

  4. Spring MVC 异步处理请求,提高程序性能

    原文:http://blog.csdn.net/he90227/article/details/52262163 什么是异步模式 如何在Spring MVC中使用异步提高性能?一个普通 Servlet ...

  5. spring mvc拦截器_Spring MVC拦截器示例

    spring mvc拦截器 我认为现在是时候看看Spring的MVC拦截器机制了,这种机制已经存在了很多年,并且是一个非常有用的工具. Spring Interceptor会按照提示说:在传入的HTT ...

  6. Spring MVC拦截器示例

    我以为是时候看看Spring的MVC拦截器机制了,这种机制已经存在了很多年,并且是一个非常有用的工具. Spring Interceptor会按照提示进行操作:在传入的HTTP请求到达您的Spring ...

  7. spring mvc Spring Data Redis RedisTemplate [转]

    http://maven.springframework.org/release/org/springframework/data/spring-data-redis/(spring-data包下载) ...

  8. 基于注解的Spring MVC与JPA如何解决实体的延时加载问题

    本文出处:http://blog.csdn.net/chaijunkun/article/details/7673931,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在 ...

  9. Spring Security(三十六):12. Spring MVC Test Integration

    Spring Security provides comprehensive integration with Spring MVC Test Spring Security提供与Spring MVC ...

最新文章

  1. Java引用计数与实现
  2. log4net简介(三)之无法写入日志
  3. PHP编程最快明白 by www.kuphp.com 案例实战zencart1.38a支付模块简化Fast and Easy Checkout配置...
  4. c语言 中多一个分号,问什么C程序里总是提示缺少分号;,而明明有分号?
  5. matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计
  6. 为 .net 生态贡献力量——制作并上传 nuget 包(内有独家彩蛋)
  7. matlab inline feval,matlab中关于函数句柄、feval函数以及inline函数的解析
  8. struts2面试整理
  9. Web容器默认的servlet
  10. 简单识别 RESTful 接口
  11. python爬取拉勾网_python爬虫—爬取拉钩网
  12. Redis安装教程【Windows]
  13. aspen中再沸器模拟_aspen换热器的模拟计算
  14. android 半透明色值_最全的Android 颜色透明度
  15. 【知识整理】Nmap与Masscan
  16. MTK平台sip信令的查看和volte的故障
  17. 观众直呼“让她恰”,B站内容如何有效撬动ROI增长?
  18. Android 图片倒影
  19. PageHelper 分页插件只用Page、不用PageInfo 的写法
  20. 量子前沿英雄谱|IonQ联合创始人兼首席技术官Jungsang Kim

热门文章

  1. oracle sha2,Oracle11.2.0.1在AMD CPU 64位硬件,32位操作系统下的BUG 8670579
  2. pythonfor循环语句例子_Python for循环学习总结
  3. Android开发学习之仿手机QQ消息列表侧滑删除效果
  4. 转换jsonArray异常——由hibernate引起的转换jsonArray异常解决办法
  5. 大话数据结构读书笔记系列(七)图
  6. linux查找有用日志常用技巧
  7. jQuery最核心的基础设施之一——数据缓存模块进化史
  8. VB.NET 使用DirectSound9 (3) StreamAudio
  9. 微软推出 Xbox 漏洞奖励计划,最高奖励2万美元
  10. 聊聊网络安全行业这十年(2010-2019)