@RequestMapping放在接口上,为何springmvc能映射到其实现上?

springboot下
定义一个接口

public interface HelloController {

 @RequestMapping("/hello")
 String hello();

}

然后实现

@RestController
public class HelloControllerImpl implements HelloController {

 @Override
 public String hello(){
     return "hello";
 }

}

@RequestMapping这个应该不是被HelloControllerImpl里的方法继承了啊,其是怎样起作用的?

阅读 11.9k
1 个回答

这个是jdk的动态代理。
spring在初始化的时候将HelloControllerImpl做成bean。然后并且HelloController作为id号。
每次调用HelloController的hello方法。都会通过jdk的动态代理调用HelloControllerImpl的hello方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题