Spring MVC 使用优化建议
相关内容:
架构师系列内容:架构师学习笔记(持续更新)
一步一步手绘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 使用优化建议相关推荐
- Spring MVC 使用优化建议-缓存URL
阅读源码的过程中,我们发现Spring MVC 并没有对处理url 的方法进行缓存,也就是说每次都要根据请求url 去匹配Controller 中的方法url,如果把url 和Method 的关系缓存 ...
- 一步一步手绘Spring MVC运行时序图(Spring MVC原理)
相关内容: 架构师系列内容:架构师学习笔记(持续更新) 一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程) 一步一步手绘Spring IOC运行时序图二(基于XM ...
- 一步一步手绘Spring MVC运行时序图
Spring MVC 初体验 初探Spring MVC 请求处理流程 Spring MVC 相对于前面的章节算是比较简单的,我们首先引用<Spring in Action>上 的一张图来了 ...
- Spring MVC 异步处理请求,提高程序性能
原文:http://blog.csdn.net/he90227/article/details/52262163 什么是异步模式 如何在Spring MVC中使用异步提高性能?一个普通 Servlet ...
- spring mvc拦截器_Spring MVC拦截器示例
spring mvc拦截器 我认为现在是时候看看Spring的MVC拦截器机制了,这种机制已经存在了很多年,并且是一个非常有用的工具. Spring Interceptor会按照提示说:在传入的HTT ...
- Spring MVC拦截器示例
我以为是时候看看Spring的MVC拦截器机制了,这种机制已经存在了很多年,并且是一个非常有用的工具. Spring Interceptor会按照提示进行操作:在传入的HTTP请求到达您的Spring ...
- spring mvc Spring Data Redis RedisTemplate [转]
http://maven.springframework.org/release/org/springframework/data/spring-data-redis/(spring-data包下载) ...
- 基于注解的Spring MVC与JPA如何解决实体的延时加载问题
本文出处:http://blog.csdn.net/chaijunkun/article/details/7673931,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在 ...
- Spring Security(三十六):12. Spring MVC Test Integration
Spring Security provides comprehensive integration with Spring MVC Test Spring Security提供与Spring MVC ...
最新文章
- Java引用计数与实现
- log4net简介(三)之无法写入日志
- PHP编程最快明白 by www.kuphp.com 案例实战zencart1.38a支付模块简化Fast and Easy Checkout配置...
- c语言 中多一个分号,问什么C程序里总是提示缺少分号;,而明明有分号?
- matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计
- 为 .net 生态贡献力量——制作并上传 nuget 包(内有独家彩蛋)
- matlab inline feval,matlab中关于函数句柄、feval函数以及inline函数的解析
- struts2面试整理
- Web容器默认的servlet
- 简单识别 RESTful 接口
- python爬取拉勾网_python爬虫—爬取拉钩网
- Redis安装教程【Windows]
- aspen中再沸器模拟_aspen换热器的模拟计算
- android 半透明色值_最全的Android 颜色透明度
- 【知识整理】Nmap与Masscan
- MTK平台sip信令的查看和volte的故障
- 观众直呼“让她恰”,B站内容如何有效撬动ROI增长?
- Android 图片倒影
- PageHelper 分页插件只用Page、不用PageInfo 的写法
- 量子前沿英雄谱|IonQ联合创始人兼首席技术官Jungsang Kim
热门文章
- oracle sha2,Oracle11.2.0.1在AMD CPU 64位硬件,32位操作系统下的BUG 8670579
- pythonfor循环语句例子_Python for循环学习总结
- Android开发学习之仿手机QQ消息列表侧滑删除效果
- 转换jsonArray异常——由hibernate引起的转换jsonArray异常解决办法
- 大话数据结构读书笔记系列(七)图
- linux查找有用日志常用技巧
- jQuery最核心的基础设施之一——数据缓存模块进化史
- VB.NET 使用DirectSound9 (3) StreamAudio
- 微软推出 Xbox 漏洞奖励计划,最高奖励2万美元
- 聊聊网络安全行业这十年(2010-2019)