我的业务是研究从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