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