使重复的Spring-MVC的url-mapping具有优先级

当Spring-MVC项目中出现重复的url-mapping时,可通过覆盖父类mapping或利用ConditionalOnMissingBean注解来设定优先级。讨论了不扫描父类、使用@Controller和@ConditionalOnMissingBean注解的解决方案,以及在多个模块间避免URL冲突的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要Mapping覆盖的情况

通常为了开发简便,我们一般都使用注解@Controller、@RequestMapping来配置mapping,然后使用配置扫描来自动注册Controller。   

在项目开发时,分模块是常用的做法,如果模块之间包名重叠,所有controller都扫描进去了的话,包含相同的mapping则会出现上面的启动报错的情况。
当然,我们可以通过人为约定为每个模块加上特别的标示。
如果我们知道现在所写的mapping将是我们要用的mapping,而之前的mapping想要废弃,而又不想修改以前的方法,这时覆盖就是一个比较理想的方案。
所有项目都依赖ui项目jar,公共服务url难免有重复同时功能不同的情况,
如在老项目 / -> login.html页面。
但是在新vue项目 / -> index.html 页面。
这就尴尬了。

Spring MVC Mapping重复定义

这博主说的就是我们要解决的。

不扫描父类,但是mapping写上默认的,子类继承同时给个@Controller


public class WebController {
    @RequestMapping("/")
    public S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值