再论代码生成器

本文是《轻量级 Java Web 框架架构设计》的系列博文。

经过一个月的时间,一切从无到有,Smart Framework 1.0 终于发布了,我也在为下一个大的版本版本考虑功能特性。我认为至少有两件事情需要做,1. 代码生成器的应用;2. 提供常用的插件。

最近看了一下 Grails,它是一款 Full Stack(一站式)Java Web 开发框架,充分借鉴了 Ruby on Rails(RoR) 的架构,不同的是,它使用了 Groovy 语言作为主要开发语言,同时也可以支持 Java 语言。感觉 Grails 的出现,就是为了让 Java 开发人员尝试一下 RoR 的特性。通过命令行可以创建项目框架,然后根据实际的需求去完善框架,并提供了内置的 Web 服务器,提供了良好的开发与测试环境。Grails 也内置了许多成功的开源框架,如:Spring、Hibernate,还有一些 SCM 工具,如:Ivy、Maven 等。此外,还可随时导出 war 包,便于直接部署到生产机上。

体验了一下 Grails,让我对代码生成器有了一些新的想法。

用户能否将 smart-generator 作为一个工具,使用 smart 命令来生成相应的代码呢?

详细的命令示例如下:

  1. smart create-app:创建一个应用,输入应用名称与其他相关参数生成整个项目的目录结构,可直接导入到 IDE 中。
  2. smart create-entity product:创建一个的 Entity,名为 Product
  3. smart create-service product:创建一个 Service,名为 ProductService,同时包括该服务接口的实现类,名为 ProductServiceImpl。
  4. smart create-action product:创建一个 Action,名为 ProductAction,同时也生成了对应视图根目录为 www/page/product。
  5. smart create-page product:创建一个 Page,位于 www/page/product 目录下,文件名为 product.html。
  6. smart create-crud product:创建关于 product 的 CRUD 代码框架,包括:Entity、Service、Action、Page 等。
  7. smart load-dict:加载数据字典(Excel 文件),生成相应的 Entity 与 create table SQL 语句。
  8. smart run-app:启动内置的 Web 服务器(Tomcat 或 Jetty)运行应用。
  9. smart test-app:运行单元测试。
  10. smart build-app:将应用打包为 war 格式,便于部署。

以上命令打算提供 Windows 版本与 Linux 版本,只需将 smart-generator 程序包解压,并放置到磁盘中某路径下,配置环境变量 SMART_HOME 与 PATH,即可在命令行中使用 smart 命令。

对于以上思路,您有何建议呢?期待大家的评论。

你可能感兴趣的:(再论代码生成器)