我有一个带有@RequestMapping注释方法的Spring1 @Controller注释类.我想从另一个类中引用@RequestMapping参数,值和方法的值,而不是将其硬编码到注释中.
例
代替
@Controller
public class MyController {
@RequestMapping(value="my/path", method=RequestMethod.GET)
public String handlePath() {
// etc...
}
}
我要两个文件
@Controller
public class MyController {
@RequestMapping(value=Constants.PATH, method=Constants.PATH_METHOD)
public String handlePath() {
// etc...
}
}
和
public class Constants {
public static final String PATH = "my/path";
public static final RequestMethod PATH_METHOD = RequestMethod.GET;
}
不幸的是,这失败并显示以下编译时错误:
error: an enum annotation value must be an enum constant
@RequestMapping(value=Constants.PATH, method=Constants.PATH_METHOD)
^
题
为什么在String的情况下可以使用,但对枚举不起作用?
笔记
>这个问题不是特定于Spring的,这只是(希望)可以访问的一个示例.
>我碰巧正在使用Java 8