JEP 256:BeanInfo Annotations提供了 forJavaBean
和BeanProperty
annotations。虽然没有太多的文档,但我一直希望这将允许我们使用注释将类上的字段指定为 JavaBean 样式的属性,而无需创建样板的getter/setter 访问器/mutator 方法。
所以这:
public class Person {
private String name ;
public String getName( ) {
return this.name ;
}
public void setName( String nameArg ) {
this.name = nameArg ;
}
}
……会变成这样:
import java.beans.BeanProperty;
public class Person {
@BeanProperty
public String name ;
}
然而,当我在 IntelliJ 2017.2.2 的 Java 9 项目中尝试此操作时,我在 IDE 中的“@”注释中出现错误:
'@BeanProperty' 不适用于字段
编译器报错:
Error:(8, 5) java: annotation type not applicable to this kind of declaration
➠ 我是否误解了这些新注释的目的?还是我有一些语法问题?
除了上面链接的 JEP 和 JavaDoc 之外,我没有找到任何文档。
我正在试验 Java 9 的最新候选版本,目前是 macOS Sierra 10.12.6 上的 Java 9+181。