扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
代码生成器就是根据特定的要求制定格式,灵活输出在项目中重复要用到的代码,节省项目时间,现在免费的代码生成器codesmith我经常用的,小玩意,不花钱
为莒县等地区用户提供了全套网页设计制作服务,及莒县网站建设行业解决方案。主营业务为成都网站建设、成都网站制作、莒县网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
代码生成器是按照特定编码规范输出代码的软件,可以直接生成项目,也可以单页生成
比如动软,生成项目可以选择vs版本的,其实嘛,动软挺垃圾的,不如你去学学orm框架,很简单的,比动软的三层好得多
; ——此文章摘自《自己动手写开发工具 基于Eclipse的工具开发》定价 ¥ 特价 ¥ 详细//track linktech cn/?m_id=dangdanga_id=A l= l_type = width= height= border= nosave
//develop csai cn/Java_Eclipse/images/ jpg 图 设置JET的属性
( ) 创建模板文件
JET的模板文件的命名规定是在要生成的代码生成器类的文件名后加jet 比如想命名我们的代码生成器为MyGen java 那么只要把模板命名为MyGen javajet就可以了 因此可在 templates文件夹下创建一个文件EnumCodeGenerator javajet 创建完毕之后 系统会弹出一个错误对话框 如图 所示
//develop csai cn/Java_Eclipse/images/ jpg 图 构建出错对话框
不要惊慌 这并不是说明我们的创建过程有错 而是创建完模板文件以后 JET构建器就去尝试构建EnumCodeGenerator javajet 由于这个文件是空的 所以当然就构建失败报错了
在EnumCodeGenerator javajet中输入如下代码 %@ jet package= cownew enumgenerator wizards class= EnumCodeGenerator % Hello %=argument%! 保存以后 JET就立即会生成EnumCodeGenerator java文件 内容如下 public class EnumCodeGenerator { protected static String nl; public static synchronized EnumCodeGenerator create( String lineSeparator) { nl = lineSeparator; EnumCodeGenerator result = new EnumCodeGenerator(); nl = null; return result; } protected final String NL = nl == null ? (System getProperties() getProperty( line separator )) : nl; protected final String TEXT_ = Hello ; protected final String TEXT_ = ! ; protected final String TEXT_ = NL;
lishixinzhi/Article/program/Java/ky/201311/29009
按照我的理解,可以的,代码生成器是跨平台,而且是跨语言的(至少是跨文本语言的,UML暂时不好说,)。
代码生成器作为一种开发工具,一般不直接作为程序的一部分,通常也不直接或间接(如通过AOP)被程序调用,他是通过编程的方式生成所需要的代码,然后将生成的代码作为源文件,复制到开发工具的代码区,然后进行编译。由于代码生成器是在编译之前运行的,因此它可以跨语言,你不但可以用代码生成器生成高级语言,也可以生成汇编语言,甚至机器码(0、1代码)。
但编写代码生成器是一个难点,它需要你了解目标编程语言的语法。如果别人已经把你需要的代码生成器写好了,你只需按要求使用即可,此时就不需要了解目标编程语言的语法。
JNI是通过Java调用C语言(或其他语言,一般是C),它的实现机制与代码生成器不同(JNI是通过代码调用实现功能,而代码生成器是生成代码,复制代码进行使用),由于C是底层语言,一些底层操作单靠Java无法实现,所以才需要JNI。
以上是我对代码生成器的个人理解,虽然提问时间已过了很久,但依然希望能对你及其他网友有所帮助。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流