我有下课。
public class MultipartFileWrapper {
@Extensions({".jpg",".png",".gif",".bmp",".mp4"})
MultipartFile multipartFile;
...
}
现在我想将格式提取到配置文件中。 但我不明白如何更换
@Extensions({".jpg",".png",".gif",".bmp",".mp4"})
我想重写一下这样的内容:
public class MultipartFileWrapper {
@Extensions(readFormatsFromFile())
MultipartFile multipartFile;
...
}
格式应来自具有以下内容的外部文件:
.jpg,.png,.gif,.bmp,.mp4
java允许这样做吗?
答案 0 :(得分:2)
属性值必须是常量。
来自Java Language Specification, section 9.7.1,强调我的:
Java不允许运行时注释参数:注释 参数在编译时存储,因此不能是动态的。
如果T是基本类型或字符串, V是常量表达式 (§15.28)。
V不为空。
如果T是Class,或者是Class的调用,则V是类文字 (§15.8.2)。
如果T是枚举类型,则V是枚举常量。
在您的情况下,V
不是常量表达式。
除此之外,除非通过@Retention(RetentionPolicy.RUNTIME)
明确指定,否则许多注释可能不会保留在已编译的代码中。