SpringMVC中关于Controller单例与多例的误区解析
"关于SpringMVC,以下说法错误的是?\n\nA、SpringMVC的核心入口是DispatcherServlet\n\nB、@RequestMapping注解既可以用在类上也可以用在方法上\n\nC、@PathVariable作用是取出url中的模板变量作为参数\n\nD、controller默认是单例,通过@Scope("prototype" )注解改为多例,成员变量共享 为什么\n\n内容:D、controller默认是单例,通过@Scope("prototype" )注解改为多例,成员变量共享 是错误的。\n\n在SpringMVC中,Controller默认是单例的,即每个请求都会使用同一个Controller实例来处理。这意味着,如果Controller中存在成员变量,那么这些成员变量是被多个请求共享的,可能会导致线程安全问题。如果希望每个请求都使用一个新的Controller实例来处理,可以使用@Scope("prototype" )注解将Controller设置为多例,但是这样并不会解决成员变量共享的问题。为了避免成员变量共享的问题,应该尽量避免在Controller中使用成员变量,而是使用方法参数来传递数据。"
原文地址: https://www.cveoy.top/t/topic/pT5j 著作权归作者所有。请勿转载和采集!