Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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,我有这样一个问题,我从事的项目中的某些部分是从JAR文件中已有的遗留代码中提取的。已经有一些从这些JAR文件导入的Spring控制器。我想通过扩展这些类和创建/编写新方法来覆盖导入的控制器中的映射。不幸的是,我不能创建新的映射,因为我不知道有多少地方出现了旧的映射,整个系统是不可能的。由于我想在同一映射上添加一些新功能,我尝试排除旧(导入的)控制器,并排除正在使用以下方法导入旧控制器的配置文件: @ComponentScan.Filter(type = FilterType.REGEX) Sp

我有这样一个问题,我从事的项目中的某些部分是从JAR文件中已有的遗留代码中提取的。已经有一些从这些JAR文件导入的Spring控制器。我想通过扩展这些类和创建/编写新方法来覆盖导入的控制器中的映射。不幸的是,我不能创建新的映射,因为我不知道有多少地方出现了旧的映射,整个系统是不可能的。由于我想在同一映射上添加一些新功能,我尝试排除旧(导入的)控制器,并排除正在使用以下方法导入旧控制器的配置文件:

@ComponentScan.Filter(type = FilterType.REGEX)
Spring带来了重复映射的问题,不允许我正确部署应用程序


是否有任何选项将控制器从应用程序中排除,或检查控制器bean注入应用程序的位置并覆盖它?

您可以从Spring组件扫描中排除类或包,如下所示

@Configuration
@ComponentScan(            
        excludeFilters = {
                @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org.aaa.bbb.*"),
                @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = MyClassToExclude.class) })

通过这种方式,您可以排除您的遗留类。

我还不理解您的问题。它解决了问题。我还需要承认,如果你正在制作一些新的控制器来覆盖映射,你不应该扩展你想要覆盖的那个。