Ste*_*han 23 java annotations generated-code
我正在寻找生成代码的解决方案.我用谷歌搜索,搜索SO和一些博客,但我找不到一个好的解决方案.
我想在我的类上添加一个注释,在编译时,一些方法和属性会自动添加到类中.
我正在寻找的解决方案的关键点:
apt必要调用外部工具(强制)例如 :
@Aliasable
public class MyClass {
//Some properties
// Contructor ...
// Some methods
}
Run Code Online (Sandbox Code Playgroud)
编译后我的类看起来像这样:
public class MyClass {
//Some properties
private String alias;
// Contructor ...
// Some methods
public String getAlias() {
return alias;
}
public void setAlias(String alias) {
this.alias=alias;
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
最后,我将我的第三个要求从MANDATORY转为OPTIONAL并选择了项目Lombok(与Maven和Eclipse轻松集成,几乎没有工作要做).
kap*_*pex 14
自1.6版以来,注释处理工具已集成在javac中,并且是JDK的一部分.因此,使用Pluggable Annotation API时无需外部工具.您可以使用Mirror API分析自定义注释或方法/参数/字段/类声明来生成任何代码.
您不能/不应该更改现有的类.可以通过创建子类来生成扩展方法.
jac*_*bit 12
看看龙目岛项目.它会在您编写时按照您的要求生成代码:
public class MyClass {
@Getter @Setter private String alias;
}
Run Code Online (Sandbox Code Playgroud)
如果你需要它还可以做更多的事情.我知道你没有要求外部工具,但你基本上会重新创建它.
| 归档时间: |
|
| 查看次数: |
16892 次 |
| 最近记录: |