我的业务是研究从Struts迁移到Spring MVC。我们有大量的Web应用程序,它们在任何特定于应用程序的控制器(称为Struts中的Action)之前使用相同的自定义逻辑基础层。在Struts中,我们通过一些扩展Action类的类来解决这个问题。然后,Web应用程序将扩展这些自定义类。

我试图找到一种使用Spring MVC(最新版本4.3.4)实现相同结果的好方法。从我看来,处理程序拦截器不太符合我的需求。 requestMapping无法确定需要执行的自定义逻辑。

有没有一种方法可以创建类似@ControllerCustomA和@ControllerCustomB的自定义注释,而不是用于检查内容,日志等的@Controller。

然后有

//check authentication, for instance
@ControllerA
public class user{
    @GetMapping("/user")
    public String getUser() {
        //application specific logic
    }
}

最佳答案

在您的位置,我将使用aspect

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

看看http://blog.javaforge.net/post/76125490725/spring-aop-method-interceptor-annotation

10-06 13:05
查看更多