我的业务正在研究从Struts迁移到Spring MVC。我们有一大组Web应用程序,它们在任何特定于应用程序的控制器(在Struts中称为Action)之前使用相同的自定义逻辑基础层。在Struts中,我们通过使用一些扩展Action类的类来解决这个问题。然后,webapps扩展了这些自定义类。
我试图找到良好的方式来实现与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
}
}
答案 0 :(得分:1)
在您的位置我使用aspect。
您可以将其配置为仅拦截具有某些注释的类中的方法。
查看http://blog.javaforge.net/post/76125490725/spring-aop-method-interceptor-annotation