为什么Spring允许在私有方法上使用控制器注释的请求映射?


问题内容

今天在Spring MVC cotnroller课堂上遇到了这个问题,

    @RequestMapping(value = { "/foo/*" }, method = { RequestMethod.GET})
    private String doThing(final WebRequest request) {
        ...
        return "jsp";
    }

这使得编写测试变得有些困难,我可能会将其更改为public,但是允许在私有方法上进行映射的意义何在?


问题答案:

Java没有提供基于访问修饰符限制注释目标的机制。