Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 每个请求调用@Controller方法一次_Spring_Spring Mvc - Fatal编程技术网

Spring 每个请求调用@Controller方法一次

Spring 每个请求调用@Controller方法一次,spring,spring-mvc,Spring,Spring Mvc,有没有一种好方法可以让Spring的@Controller类在每个请求中调用一次特定的方法 现在我正在使用一个带有@InitBinder注释的方法来实现这个目的,但这是次优的,因为每个请求都会调用@InitBinder方法数次。我只想做一些初始化/更新的东西,在我的控制器中使用 我要找的是类似Rails的过滤器前的功能,但据我所知,在春季没有类似的功能。听起来你需要一个新的过滤器。Spring将为每个请求创建一个新的控制器实例,并将使用标准机制(如@PostConstruct)每次初始化bean

有没有一种好方法可以让Spring的
@Controller
类在每个请求中调用一次特定的方法

现在我正在使用一个带有
@InitBinder
注释的方法来实现这个目的,但这是次优的,因为每个请求都会调用
@InitBinder
方法数次。我只想做一些初始化/更新的东西,在我的控制器中使用


我要找的是类似Rails的过滤器前的功能,但据我所知,在春季没有类似的功能。

听起来你需要一个新的过滤器。Spring将为每个请求创建一个新的控制器实例,并将使用标准机制(如
@PostConstruct
)每次初始化bean

我已经考虑过这样的解决方案,但我不想在每次请求时初始化我的控制器。我只想执行一些小的清理任务(例如,重置视图中使用的某些属性)。所以这是可能的,但我希望有一个更干净的解决方案。默认情况下,Spring控制器在线程和请求之间共享。如果控制器bean中有每请求状态,则不应在请求之间共享它们,而请求作用域bean是处理此问题的最干净、最安全的方法。是否有方法将请求作用域bean自动连接到单实例作用域控制器中?是: