gpt4 book ai didi

java - RequestMapping 适用于私有(private)方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:47:22 25 4
gpt4 key购买 nike

现在,我的理解是,一般而言,@RequestMapping 方法需要公开。他们也可以是私有(private)的吗?如果是这样,我们什么时候使用它?

我问这个问题的原因是我注意到 @RequestMapping 也适用于私有(private)方法。为什么会这样?

是否因为 spring 通过反射访问这些方法,所以没有真正考虑访问修饰符?这是错误还是有用的功能?

最佳答案

如果不进入 Spring 开发人员的头脑,很难说出真正的原因(如果存在的话),因为这是很久以前实现的。

我猜这是一个疏忽,因为使用私有(private)方法作为请求映射的目标并没有明显的优势。当然,您不能再从您的其他代码中调用它们,但是如果您从您的代码中调用 Controller 方法,那么您遇到的所有问题都是您应得的。

This link描述了一个有趣的情况,其中请求映射适用于包私有(private)方法,但由于 AOP 仅适用于公共(public)方法,结果是困惑和破坏。还有 4(四!)个地方可以应用修复程序来防止非公共(public)方法成为 @RequestMapping 的目标。

所以我将其归类为(小)错误。现在由程序员保持警觉并记住将这些方法公开。我会看看是否可以为此找到现有的错误票。

关于java - RequestMapping 适用于私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50563524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com