代码生成器原理分析(一)

概述

在实际项目开发中,我们关注的重点是业务功能的开发及怎样保证业务流程的正确性。对于重复性的代码编写会占据大量的时间和精力,比如controller、service、serviceImpl、dao、model、jsp等的结构,用户、角色、权限等等模块都有类似的结构。这部分代码往往都具有固定的规律,针对这部分代码,就可以使用代码生成器来自动帮我们生成代码,减少手工的重复劳动。

传统方式进行模块开发步骤如下:

1、创建数据库表;

2、根据表字段设计实体类;

3、编写增删改查DAO;

4、根据业务编写service层;

5、Controller表现层和前端页面。

而通常情况下,只需要知道一个数据库表的结构,增删改查的前后端页面的代码格式就是固定的,剩下的就是复杂的业务部分。而代码生成工具的目标,就是自动生成那部分固定格式的增删改查的代码。

如果我们要自己实现一个代码生成器的话,应该怎么去做?

自己编写代码生成器工具的最终实现案例效果展示:

    

 

需求分析

在代码生成器中,就是根据公共的模板和数据库表信息来自动生成代码的。

传统做法,通常都是以一份已经写好的代码为基础进行代码复制和修改,根据不同业务的数据库表完善需求,可以把这份代码称之为公共的代码模块;

生成的代码和数据库表中的信息息息相关,所以除了模板之外,还需要数据库表信息作为数据填充模板内容。

实现思路