Java 控制器Spring MVC之前的自定义逻辑

Java 控制器Spring MVC之前的自定义逻辑,java,spring,Java,Spring,我的业务是研究从Struts到SpringMVC的转换。我们有大量的web应用程序,它们在任何特定于应用程序的控制器(Struts中称为Action)之前使用相同的自定义逻辑底层。在Struts中,我们通过几个扩展Action类的类来处理这个问题。然后webapps扩展了这些自定义类 我试图找到一种好的方法来使用SpringMVC(最新版本4.3.4)实现相同的结果。据我所见,处理器拦截器不太适合我的需要。requestMapping无法确定需要执行的自定义逻辑 有没有办法创建一个自定义注释,比

我的业务是研究从Struts到SpringMVC的转换。我们有大量的web应用程序,它们在任何特定于应用程序的控制器(Struts中称为Action)之前使用相同的自定义逻辑底层。在Struts中,我们通过几个扩展Action类的类来处理这个问题。然后webapps扩展了这些自定义类

我试图找到一种好的方法来使用SpringMVC(最新版本4.3.4)实现相同的结果。据我所见,处理器拦截器不太适合我的需要。requestMapping无法确定需要执行的自定义逻辑

有没有办法创建一个自定义注释,比如@ControllerCustomA和@ControllerCustomB,而不是@Controller来检查内容、日志等

然后有

//例如,检查身份验证
@控制器
公共类用户{
@GetMapping(“/user”)
公共字符串getUser(){
//特定于应用程序的逻辑
}
}
在你的位置上,我会使用

您可以将其配置为仅截取带有某些注释的类中的方法


例如,查看一下

如果它正在检查身份验证,那么您希望使用spring安全注释。如果是更通用的,使用通用的spring aop。@OrangeDog不仅如此,还有身份验证。我一直在研究Spring安全性,但是将我们的系统与之融合会很复杂,即使是定制的UserServiceDetails…@Nikolai你能列举一下你的用例吗?你不能在控制器前添加一个过滤器并将逻辑放在那里吗?不同的控制器行为是什么意思?Spring非常灵活,几乎可以用它构建任何应用程序。我不知道你的应用领域,所以我可以给你一些建议。您是否研究了文档,尤其是web部件?例如,
@modeldattribute
@ControllerAdvice
结合使用可能非常适合您的应用程序。它允许您将每个请求的公共数据以及特定于用户的数据(如用户名或授予的角色等)放入模型映射中。Thx,我一直在挖掘它,它非常适合我的需要。自定义注释和方面组合为这样一个强大的工具。我觉得很遗憾我现在才发现。。。