扫码阅读
手机扫码阅读

Spring Boot 定义接口的方法是否可以声明为 private?

34 2024-11-27

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:Spring Boot 定义接口的方法是否可以声明为 private?
文章来源:
江南一点雨
扫码关注公众号

摘要

松哥正在录制TienChin项目视频,使用Spring Boot和Vue3技术栈,探讨了将Controller中的接口方法定义为private,并通过源码解读来回答这个问题。

1.概览

HandlerMethod体系中的类包括HandlerMethod、InvocableHandlerMethod、ServletInvocableHandlerMethod和ConcurrentResultHandlerMethod。这些类分别负责封装处理器和请求方法、增加调用功能、支持@ResponseStatus注解和处理返回值、以及处理异步结果。

2.HandlerMethod

2.1 bridgedMethod

讨论了bridgedMethod的概念,通过一个泛型接口的示例解释了在运行时Java虚拟机会创建bridge method,这种方法在HandlerMethod中作为bridgedMethod变量出现。

2.2 HandlerMethod 介绍

HandlerMethod的创建过程涉及确认handler类型和构建HandlerMethod。HandlerMethod的内部包含参数(parameters)和响应状态(responseStatus)。其中参数使用MethodParameter封装,包括参数序号、嵌套级别、类型、注解等信息。响应状态则处理方法的@ResponseStatus注解。

3.InvocableHandlerMethod

InvocableHandlerMethod能够调用HandlerMethod中的方法,即bridgedMethod。主要属性包括参数解析器resolvers、参数名称查找器parameterNameDiscoverer和WebDataBinderFactory。使用invokeForRequest方法接收请求并调用getMethodArgumentValues获取参数值,然后通过doInvoke执行反射调用。

想要了解更多内容?

查看原文:Spring Boot 定义接口的方法是否可以声明为 private?
文章来源:
江南一点雨
扫码关注公众号