自定义注解

上次修改时间:2021-08-09 09:53:14

自定义注解的价值在哪里?


+ = Pro

JHipster最核心的思想就是其领域语言(JDL),让您能够快速的描述出实体的基本信息和关联关系,并以此为基础生成相应的代码。
自JHipster v6.x版本开始,JHipster支持了自定义注解功能,这是"专门"给蓝图(Bleuprint)的作者开放的功能,让蓝图更灵活的使用JDL语言。

Pro增加的自定义注解

这些注解是开发实践的总结,主要是为了增强JDL的描述能力,让生成的代码具有更丰富的功能。

  • @skipMenu:实体注解,相应实体将不会生成菜单。
  • @ExtendData:实体注解,表字段可扩展。
  • @editInModal实体注解,在窗口中编辑。
  • @skipComponent:实体注解,可取消指定组件的生成restController,service等,防止覆盖。例子:@skipComponent(queryService-listPage) dto:不生成DTO文件,此注解仅不生成相关的文件,一般用于文件已经存在但不需要覆盖的情况。 updateComponent:不生成前端UpdateCompmonet,该文件是编辑实体时使用的xxx-update.component.ts文件。 serviceClass:不生成后端ServiceImpl文件或Service.java文件 restController:不生成后端web.rest.XXXResource.java文件 mapper:不生后端的实体与DTO的转换类。XXXMapper.java queryService-listPage-listComponent-clientService-clientTemplate clientRoute-updatePage-clientModel-clientDetail-clientCompact
  • @importData:实体注解,导入数据。@importData,文件放在data目录。表名.csv
  • @skipRestApi(create-dataImport-dataExport):实体注解,忽略某些Rest接口,目前仅支持上述三个。
  • @columnWidth(200):字段注解,Table列表中该字段的宽度
  • @endUsed(fileUrl,imageUrl,videoUrl,audioUrl, Editor,CodeEditor,JsonEditor, avatar)字段注解,一般用于String字段,保存一个或多个url地址。支持多个地址,使用;或其他方式分隔。
  • @configField(editInList-hideInList-hideInForm-sortable):字段注解,列表编辑、列表中隐藏、表单中隐藏,可排序。editInList-hideInList-hideInForm可加入关系注解
  • @lastModifiedDate:字段注解,最后更新时间
  • @createdDate:字段注解,创建时间
  • @createdById:字段注解 创建者Id,Long类型
  • @createdByLogin字段注解,创建者Login String 类型
  • @createdByImageUrl 字段注解,创建的imageUrl,String类型
  • @createdBy:关系注解,创建人
  • @lastModifiedBy:关系注解,最后更新人
  • @lastModifiedById: 字段注解 更新者Id,Long类型
  • @lastModifiedByLogin:字段注解 更新者Login,String类型
  • @replaceServiceMethod(save),ServiceImple.java中相应方法忽略,一般由其他固定方法替换补充。暂时仅支持save
  • @replaceListComponentMethod(getCommonTableData),Entity.component.ts中相应方法忽略,一般由其他固定方法替换补充。暂时仅支持getCommonTableData