spring每次请求创建线程 Spring MVC的Controller是线程安全的么?

Spring MVC的Controller是线程安全的么?SpringMVC是基于单例模式的,所以如果有一个类的实例全局变量,就会出现问题。但是,根据springmvc的设计要求,不建议全局变量的存在

Spring MVC的Controller是线程安全的么?

SpringMVC是基于单例模式的,所以如果有一个类的实例全局变量,就会出现问题。但是,根据springmvc的设计要求,不建议全局变量的存在,类引用只是服务层的一个对象。此对象不具有保存请求数据信息的功能,如果有保存信息,也直接传递到函数中。函数是线程安全的。所以使用起来应该是安全的。springmvc和sturts2的区别在于请求的信息是否保存在控制器层。Struts2的操作需要保存请求信息。springmvc不保存。所以struts2使用prototype,springmvc使用singleton。总体而言,springmvc的控制器不是线程安全的,但是对设计有一定的要求,可以避免线程安全问题。不仅控制器,而且服务和Dao都是不安全的。