1. 程式人生 > >Spring Mvc Controller類的方法上的@RequestMapping寫在介面方法上,然後Controller實現哪個方法,@RequestMapping一樣會生效

Spring Mvc Controller類的方法上的@RequestMapping寫在介面方法上,然後Controller實現哪個方法,@RequestMapping一樣會生效

不僅僅是@RequestMapping註解,類似於@Autowired之類的註解都是如此,在也會生效。

spring mvc是通過反射獲得父介面得到的相應的註解資訊。

估計這麼做的原因是為了彌補java本身註解只能在類上並且標註了@Inherited才能被繼承的缺陷。。。spring mvc這麼做就可以使得Controller的父介面上的註解在Controller中生效了。

 

具體請看:

https://www.cnblogs.com/flying607/p/8295139.html

https://blog.csdn.net/forezp/article/details/80069961

 

有個小疑問:如果在Controller的父介面方法中寫了@RequestMapping,在Controller實現的該方法上又寫了一個@RequestMapping,那麼哪個會生效?還是會拋異常?有待測試。。

 

關於java註解是否能被繼承,請看我另一篇文章:

https://blog.csdn.net/qq_36951116/article/details/84387720