我有一个DispatcherServlet
,默认使用RequestMappingHandlerMapping
查找所有带@RequestMapping
注释的控制器。
这很好用,除了它在我的spring上下文中选取所有控制器,但我只希望它暴露某些控制器。
有没有办法做到这一点,不涉及扩展一堆弹簧类?
(不幸的是我的spring上下文必须包含这些额外的控制器,因为它们还提供了我需要使用java调用的一些功能,而且我目前无法将它们拆分)
答案 0 :(得分:0)
您可以配置包含/排除过滤器以自定义类路径扫描。这可以在XML Spring配置或基于Java的@Configuration
中完成。因此,根据您需要排除的@Controller
个带注释的类的数量,您可以在assignable
下列出或使用regex
过滤器。有关详细信息,请参阅Spring文档部分“使用过滤器自定义扫描”,例如Spring 3.2。