注解是否适用于子类?

Jas*_*son 2 java inheritance annotations spring-mvc

我一直想知道这个问题,但一直无法找到有关该主题的任何内容。

假设我正在使用 Spring MVC 并定义一系列Controllers。

@RestController
public abstract class AbstractController {

    @Resource
    private Environment env;

    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

对于以下,是否需要@RestController注解UserController才能注册?

@RequestMapping(value = "/user")
public class UserController extends AbstractController {

    @RequestMapping("value = "", method = RequestMethod.GET)
    public ResponseEntity<User> getUser() {
       ...
       return new ResponseEntity<>(user, HttpStatus.OK);
    }          
}
Run Code Online (Sandbox Code Playgroud)

SJu*_*n76 5

如果您决定注释为@Inherited,是的。在这个例子中,@RestController没有用@Inherited元注释定义,所以它不应用于 的子类AbstractController