一个类级别的注释适用于所有方法,不特定于@ResponseBody注释,它适用于所有这样的注释,例如@Transactional。当使用注释编译代码时,编译器运行相应的注释处理器(对特定注释感兴趣的注释处理器)。注释处理器通常使用反射来检查正在编译的元素。处理器可能只是在代码片段/方法上运行检查、修改它们或在最终编译之前生成新代码。这可能还包括修改该类的所有方法。可以参考http://mkyong.com/java/java-custom-annotations-example中实现类级别自定义注释的示例。关于@ResponseBody: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/ResponseBody.html指出,从spring 4.0版本开始,@ResponseBody注释也可以添加到类型级别,在这种情况下,它将被继承,不需要在方法级别上添加。@ResponseBody如何工作:如果你在一个方法(或封装类)上加上@ResponseBody注释,spring会尝试自动转换方法的返回值并将其写入http响应中。根据你的配置,spring在后台注册了一系列HttpMessageConverters。HttpMessageConverter的职责是根据预定义的MIME类型,将方法返回值转换为HTTP响应主体。每次发出请求命中@ResponseBody注释时,spring遍历所有已注册的HttpMessageConverters,寻找第一个适合给定mime类型和类的HttpMessageConverter,然后用它进行实际转换。