Spring MVC单例与多例

Spring MVC默认单例多线程的,使用ThreadLocal来切换线程之前的参数,Spring 把每个线程可能存在线程安全问题的参数值放进了 ThreadLocal,实现不同线程下的数据相互隔离。用ThreadLocal来保证线程安全,ThreadLoacalkey 就是当前线程的 Thread 实例。
Spring推荐配置就是单例,不用每次都 new , 高并发下能极大的节省资源,提高服务抗压能力。Spring IOC的 Bean 管理器是绝对的线程安全
Sprinv MVC Controller也可以通过注解@Scope("prototype")配置为多例模式。

阅读更多

Spring MVC 执行流程

SpringMVC 执行流程主要由四大组件协同完成,分别是:DispatcherServletHandlerMappingHandlerAdapterViewResolver

这些组件对开发者来说是不可见的,开发者只需要在 Controller(Handler)层完成对请求业务的处理。

阅读更多