java - Controller 排除不起作用

标签 java spring spring-mvc spring-boot

我有 2 个工件包含在主项目中。第一个包含包“com.parent.controller”。第二个 - “com.child.controller”。

每个包都包含一个 Controller - 分别是 ParentControllerChildContoller。它们都有相同的 RequestMapping(例如“/abc”)。我还为 ParentController 添加了排除过滤器。但无论如何我有一个异常(exception): java.lang.IllegalStateException:不明确的映射。如何解决?

@SpringBootConfiguration
@EnableAutoConfiguration
@EntityScan(basePackages = {"com.parent", "com.child"})
@ComponentScan(basePackages = {"com.parent", "com.child"}, excludeFilters = {
    @ComponentScan.Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
    @ComponentScan.Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class),
    @ComponentScan.Filter(type = FilterType.REGEX, pattern = "com\\.parent\\..*Controller"),
    @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = ParentController.class)
})

UPD 1。包层次结构:

- com
  - parent
    - controller
      - ParentController
    - service
    - dao
    - entity
  - child
    - controller
      - ChildController
    - service
    - dao
    - entity

最佳答案

不要扫描com.parent根包。分别扫描每个子包,例如com.parent.entities。那就不需要排除了。 如果这不起作用,请发布父包和子包层次结构以获取具体说明。

关于java - Controller 排除不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45908456/

相关文章:

java - IntelliJ IDE 中带有@RequiredArgsConstructor 错误的实体

spring - 使用带 Spring 的瓷砖

java - @Autowired 在 Spring-security 中的 UserDetails 上返回异常

java - AdMob Interstitial 和错误 isLoaded 必须在主 UI 线程上调用

java - 如何在 JTable 中显示来自 MS Access 数据库的数据?

java - Struts 2 Convention 插件定义多个父包

java - Spring 3 bean 实例化序列

java - PageNotFound - noHandlerFound 在 DispatcherServlet 中未找到带有 URI [/SpringSecWebApp/welcome] 且名称为 'mvc-dispatcher' 的 HTTP 请求的映射

java - 如何在JSP窗体中插入外键存入数据库?

java - 使 Java 程序循环直到输入 x?