【问题标题】:Generating Java Bean setters in Eclipse在 Eclipse 中生成 Java Bean 设置器
【发布时间】:2016-04-17 05:40:35
【问题描述】:

我们在我工作的一些项目中使用 Java bean,这意味着有很多像这样的手工样板代码。

我正在寻找一个 Eclipse 插件,或者一种配置 Eclipse 代码模板的方法,它允许开发人员从一个简单的骨架类生成 setter,其方式类似于 POJO 的“生成 Getter 和 Setter”。

输入

public class MyBean {
    private String value;
}

预期输出

 public class MyBean {
     private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);

     private String value;

     public String getValue() {
         return this.value;
     }

     public void setValue(String newValue) {
         String oldValue = this.value;
         this.value = newValue;
         this.pcs.firePropertyChange("value", oldValue, newValue);
     }

     [...]
 }

我知道 Lombok 项目,但我更愿意坚持纯 Java/Eclipse 的方法。

我正在考虑自己为此编写一个 Eclipse 插件,真正有用的是 Eclipse 中更强大的模板插件,它可以解决这个问题和其他问题。

【问题讨论】:

    标签: java eclipse javabeans


    【解决方案1】:

    这是一个使用 Eclipse 代码模板的简单解决方案。此响应基于this answer,它还提供了用于设置PropertyChangeSupport 的模板。我只是提供了有关设置过程的其他详细信息。

    在 Eclipse 中,选择 Windows > Preferences > Java > Editor > Templates > New。使用明确的名称添加以下代码模板,例如BeanProperty:

    private ${Type} ${property};
    
    public ${Type} get${Property}() {
        return ${property};
    }
    
    public void set${Property}(${Type} ${property}) {
        ${propertyChangeSupport}.firePropertyChange("${property}", this.${property}, this.${property} = ${property});
    }
    

    现在,只需在您的目标类中输入BeanProperty,按Ctrl+Space 以显示模板提案,然后选择BeanProperty 模板。您可以使用 tab 键在字段类型、字段名称和 getter/setter 名称之间循环。按Enter 应用您的更改。

    有关更多详细信息,请参阅Using Code Templates Help entry,有关其他有用的代码模板,请参阅this question。当然,这个解决方案仍然受到 Eclipse 的限制,需要一个类似于自动 getter/setter 工具的更强大的插件。

    【讨论】:

    • 谢谢你,它确实让事情变得更容易了,不过我可能最终还是会为它开发一个 Eclipse 插件。
    猜你喜欢
    • 2012-08-30
    • 2011-05-13
    • 2019-03-03
    • 2011-02-26
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    相关资源
    最近更新 更多