繁体   English   中英

如何在Java 9中使用新的BeanInfo批注

[英]How to use new BeanInfo Annotations in Java 9

JEP 256:BeanInfo批注提供JavaBeanBeanProperty批注。 尽管没有太多的文档,但是我一直希望这可以允许我们使用注释将类上的字段指定为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”不适用于字段

编译器报告错误:

错误:(8,5)Java:注释类型不适用于这种声明

➠我是否误解了这些新注释的目的? 还是我有一些语法问题?

除了上面链接的JEP和JavaDoc外,我没有找到任何其他文档。

我正在尝试使用Java 9的最新版本,目前是macOS Sierra 10.12.6上的Java 9 + 181。

JavadocBeanProperty@Target(METHOD) 看起来这是自定义PropertyDescriptor的一种方法,而无需创建BeanInfo实现。 我不认为它打算像龙目岛那样工作。 (感谢谢天谢地,请参阅为什么使用getter和setter?出于所有原因,显式方法是个好主意。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM