如何在多个java类中自动修改代码?
Posted
技术标签:
【中文标题】如何在多个java类中自动修改代码?【英文标题】:How to modify code automatically in multiple java classes? 【发布时间】:2020-07-19 14:16:45 【问题描述】:我有一个对象层次结构或树,我想做两件事:
-
对于每个节点,将每个公共字段设为私有并生成 getter 和 setter。
将树的所有状态保存在映射中,因此每次在其中一个节点上调用 setter 或 getter 时,它都会转到映射,并且不会从节点本身保存或检索状态。我这样做的方法是将地图的引用注入到树中的每个节点中,并让 setter 和 getter 在地图上运行。
我想知道是否有办法自动修改我的代码来执行此操作。我知道 IntelliJ 可以将类中的所有公共字段设为私有,并为一个文件生成 getter 和 setter,但是可以为许多人执行此操作吗?是否可以自动进行我概述的第二次修改?
【问题讨论】:
对于1,也许你可以使用正则表达式处理java文件普通文本文件。 您可以添加您的树和至少一个节点的示例吗? 【参考方案1】:您可以使用 IntelliJ-template for getter/setter 来执行此操作。 这是一个非常清晰的伪代码工具,用于创建自定义代码生成机制。 看this question了解更清楚
【讨论】:
【参考方案2】:您可以使用ByteBuddy 来完成此操作。
【讨论】:
以上是关于如何在多个java类中自动修改代码?的主要内容,如果未能解决你的问题,请参考以下文章
如何修改类文件和jsp页面后不用重启tomcat就可以自动加载呢
c#如何在父类(或是接口)当中定义一个子类必须要重写的字段(属性)?