在Eclipse中生成Java Bean setter

时间:2016-04-17 05:40:35

标签: java eclipse javabeans

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

我正在使用Eclipse插件,或者是一种配置Eclipse代码模板的方法,允许开发人员从简单的骨架类生成setter,其方式类似于'Generate Getters and Setters'对POJO的影响。< / p>

输入

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中一个更强大的模板插件,可以解决这个问题和其他问题。

1 个答案:

答案 0 :(得分:4)

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

在Eclipse中,选择 Windows&gt;偏好&gt; Java&gt;编辑&gt;模板&gt;新。使用明确的名称添加以下代码模板,例如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的限制,并且需要一个类似于auto getter / setter工具的更强大的插件。