Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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
Java 可以在Spring中设置带注释的拦截器吗?_Java_Spring_Spring Mvc - Fatal编程技术网

Java 可以在Spring中设置带注释的拦截器吗?

Java 可以在Spring中设置带注释的拦截器吗?,java,spring,spring-mvc,Java,Spring,Spring Mvc,我试图保持声明性、基于约定和无XML 因此,我没有web.xml,也没有上下文配置xml。不幸的是,谷歌充斥着过时的Spring示例,不可能找到现代的答案 我的问题是:是否可以在Spring中声明带有注释的拦截器?显然,可以用与控制器相同的方法来完成(控制器类用@controller及其方法进行注释,用@RequestMapping) 我找到的最好的方法就是在这里 不幸的是,它不是声明性的。使用Java配置和@configuration注释,看起来您创建了一个拦截器,并按照描述注册了它。它不像将

我试图保持声明性、基于约定和无XML

因此,我没有
web.xml
,也没有上下文配置xml。不幸的是,谷歌充斥着过时的
Spring
示例,不可能找到现代的答案

我的问题是:是否可以在Spring中声明带有注释的拦截器?显然,可以用与控制器相同的方法来完成(控制器类用
@controller
及其方法进行注释,用
@RequestMapping

我找到的最好的方法就是在这里


不幸的是,它不是声明性的。

使用Java配置和
@configuration
注释,看起来您创建了一个拦截器,并按照描述注册了它。它不像将类注释为拦截器那样简单,但仍然可以遵守您的规定

编辑:

在java配置类中,我们需要扩展 WebMVCConfigureAdapter。要添加拦截器,我们需要覆盖 WebMVCConfigureAdapter。addInterceptors()方法。找到代码 片段

@Override
public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(new LoggingInterceptor());
    registry.addInterceptor(new TransactionInterceptor()).addPathPatterns("/person/save/*");
}

我很感兴趣,你是如何在没有web.xml的情况下运行SpringMVC应用程序的?您是如何在servlet容器中注册DispatcherServlet的?我不知道:)我正在试验SpringBoot。它可以在嵌入式Tomcat下运行,也可以生成常规战争。它有很多上下文加载器,但最常见的两种方式是从Xml或基于Java的配置中加载。创建注释只是为了使配置更轻松,并使开发人员的工作更方便。所以我担心配置(基于xml或java)不能完全被注释所取代。