Vip*_*non 5 java spring spring-mvc spring-boot spring-rest
现在,我的理解通常是 @RequestMapping 方法需要是公共的。它们也可以是私有的吗?如果是这样,我们什么时候会使用这个?
我问这个问题的原因是我注意到 @RequestMapping 也适用于私有方法。为什么会这样呢?
是否因为 spring 通过反射访问这些方法,所以没有真正考虑访问修饰符?这是一个错误还是一个有用的功能?
现在,如果不深入 Spring 开发人员的头脑,很难说出真正的原因(如果存在的话),因为这是很久以前实现的。
我猜想这是一个疏忽,因为使用私有方法作为请求映射的目标并没有显着的优势。当然,您不能再从其他代码中调用它们,但如果您从代码中调用控制器方法,那么您遇到的所有问题都是罪有应得。
此链接描述了一个有趣的情况,其中请求映射适用于包私有方法,但由于 AOP 仅适用于公共方法,因此结果是混乱和破坏。还有 4(四!) 个地方可以应用修复程序来防止非公共方法成为@RequestMapping.
所以我将其归类为一个(小)错误。现在程序员要保持警惕并记住将这些方法公开。我将看看是否可以找到此问题的现有错误单。
| 归档时间: | 
 | 
| 查看次数: | 4182 次 | 
| 最近记录: |