SpringBootCodeGenerator 高级配置技巧:Lombok、Swagger、字段注释优化配置

【免费下载链接】SpringBootCodeGenerator 又名大狼狗代码生成器,基于SpringBoot2+Freemarker的JAVA代码生成器,以释放双手为目的,支持mysql/oracle/pgsql三大数据库, 用DDL-SQL语句生成JPA/JdbcTemplate/Mybatis/MybatisPlus/BeetlSQL等相关代码. 【免费下载链接】SpringBootCodeGenerator 项目地址: https://gitcode.com/gh_mirrors/sp/SpringBootCodeGenerator

SpringBootCodeGenerator(又名大狼狗代码生成器)是基于SpringBoot2+Freemarker的JAVA代码生成器,以释放双手为目的,支持mysql/oracle/pgsql三大数据库,用DDL-SQL语句生成JPA/JdbcTemplate/Mybatis/MybatisPlus/BeetlSQL等相关代码。本文将介绍如何通过高级配置实现Lombok注解自动生成、Swagger文档增强以及字段注释优化,让生成的代码更加简洁专业。

一、Lombok配置:一键消除样板代码

Lombok通过注解自动化生成getter、setter、构造函数等样板代码,SpringBootCodeGenerator提供了便捷的Lombok配置选项,只需简单开关即可让生成的实体类自动集成Lombok注解。

1.1 开启Lombok支持

在代码生成页面中,找到"Lombok"开关并启用(如下图所示)。启用后,生成的实体类将自动添加@Data注解,该注解会自动生成所有字段的getter/setter方法、toString()、equals()和hashCode()方法。

SpringBootCodeGenerator Lombok配置界面 图:SpringBootCodeGenerator界面中的Lombok开关配置项

1.2 Lombok注解自动集成

启用Lombok后,生成的实体类代码会自动包含Lombok注解,例如:

@Data
public class UserInfo implements Serializable {
    private static final long serialVersionUID = 1L;
    private Integer userId;
    private String username;
    private Integer status;
    private Date createTime;
}

项目中实体类如FieldInfo.javaClassInfo.java等均已使用@Data注解,确保生成代码风格与项目保持一致。

二、Swagger配置:自动生成API文档

Swagger(OpenAPI)是RESTful API文档生成工具,SpringBootCodeGenerator可根据数据库字段类型自动生成Swagger注解,帮助开发者快速构建API文档。

2.1 Swagger类型映射配置

系统通过mysqlJavaTypeUtil.java类维护数据库类型与Swagger类型的映射关系,例如:

public static final HashMap<String, String> mysqlSwaggerTypeMap = new HashMap<>();
static {
    mysqlSwaggerTypeMap.put("bigint", "integer");
    mysqlSwaggerTypeMap.put("varchar", "string");
    mysqlSwaggerTypeMap.put("datetime", "string");
    // 更多类型映射...
}

这些映射关系确保生成的实体类字段能正确添加@ApiModelProperty注解,例如FieldInfo类中的swaggerClass属性会根据数据库类型自动设置。

2.2 模板配置与Swagger集成

在模板配置文件中,可通过选择"swagger-ui"模板(如下图所示)来生成包含Swagger注解的控制器代码,自动为API添加说明文档。

SpringBootCodeGenerator Swagger模板配置 图:模板配置中的Swagger UI选项

生成的控制器代码示例:

@RestController
@RequestMapping("/user")
@Api(tags = "用户管理API")
public class UserController {
    @ApiOperation("获取用户信息")
    @GetMapping("/{id}")
    public ResultVo<UserInfo> getUser(@ApiParam("用户ID") @PathVariable Integer id) {
        // 业务逻辑...
    }
}

三、字段注释优化:从数据库到代码的无缝传递

字段注释是代码可读性的关键,SpringBootCodeGenerator能将数据库表字段的COMMENT自动转换为Java代码注释,减少手动编写注释的工作量。

3.1 数据库注释提取

在解析SQL语句时,系统会自动提取字段的COMMENT信息,例如以下SQL:

CREATE TABLE `user_info` (
  `user_id` INT AUTO_INCREMENT COMMENT '用户ID',
  `username` VARCHAR(50) NOT NULL COMMENT '用户名',
  `status` TINYINT DEFAULT 1 COMMENT '状态(1:正常,0:禁用)',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

生成的实体类会自动包含注释:

/**
 * 用户ID
 */
private Integer userId;

/**
 * 用户名
 */
private String username;

/**
 * 状态(1:正常,0:禁用)
 */
private Integer status;

3.2 注释格式优化配置

通过调整模板文件(如entity.ftl)可自定义注释格式,例如添加@Description注解或调整注释缩进。模板文件位于项目的模板目录中,可根据需求进行个性化修改。

SpringBootCodeGenerator 新UI版本注释生成效果 图:新UI版本中字段注释生成效果预览

四、高级配置实践:综合优化示例

4.1 完整配置流程

  1. 准备SQL:编写包含详细COMMENT的DDL语句
  2. 配置生成选项
    • 启用Lombok开关
    • 选择包含Swagger注解的模板
    • 设置包名、作者等基础信息
  3. 生成代码:点击"生成"按钮,获取优化后的代码

4.2 效果对比

未优化前的实体类可能包含大量getter/setter方法,缺少API文档注解;优化后代码更加简洁,自动集成Lombok和Swagger,字段注释完整,极大提升开发效率。

SpringBootCodeGenerator 高级配置综合效果 图:Lombok+Swagger+注释优化的综合配置界面

五、总结

通过SpringBootCodeGenerator的Lombok、Swagger和字段注释优化配置,开发者可以显著减少重复劳动,生成更加规范、易维护的代码。这些高级配置选项体现了工具"释放双手"的设计理念,帮助团队专注于业务逻辑开发而非样板代码编写。

如需进一步定制配置,可参考项目中的模板文件和配置类,根据团队需求进行个性化调整。开始使用这些高级配置,让代码生成效率提升一个台阶吧! 🚀

【免费下载链接】SpringBootCodeGenerator 又名大狼狗代码生成器,基于SpringBoot2+Freemarker的JAVA代码生成器,以释放双手为目的,支持mysql/oracle/pgsql三大数据库, 用DDL-SQL语句生成JPA/JdbcTemplate/Mybatis/MybatisPlus/BeetlSQL等相关代码. 【免费下载链接】SpringBootCodeGenerator 项目地址: https://gitcode.com/gh_mirrors/sp/SpringBootCodeGenerator

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐