Spring MVC 和 Servlet 一样,都不是线程安全的,
Spring MVC的Controller默认使用单例
因为:
1、性能好
2、没有必要用多例
所以:
1、只要不在controller中定义成员变量,就不会存在线程安全问题。
2、万一必须要定义一个非静态成员变量时候,则通过注解@Scope("prototype"),将其设置为多例模式。或者仍然使用默认单例方式,对于要共享对象属性,可以用ThreadLocal保护。
Spring MVC 和 Servlet 一样,都不是线程安全的,
Spring MVC的Controller默认使用单例
因为:
1、性能好
2、没有必要用多例
所以:
1、只要不在controller中定义成员变量,就不会存在线程安全问题。
2、万一必须要定义一个非静态成员变量时候,则通过注解@Scope("prototype"),将其设置为多例模式。或者仍然使用默认单例方式,对于要共享对象属性,可以用ThreadLocal保护。