# jeesys-auto-source **Repository Path**: jeesys/jeesys-auto-source ## Basic Information - **Project Name**: jeesys-auto-source - **Description**: 根据java的插入式注解处理API特性,自动生成Repository、Service类 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-03 - **Last Updated**: 2024-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jeesys-auto-source #### 介绍 根据java的插入式注解处理API特性,自动生成Repository、Service、DTO、controller类,可用注解有:
##### @AutoRepository 生成Repository类; ##### @AutoService 生成Service类; ##### @AutoData 是@AutoRepository、@AutoService、@AutoReq、@AutoRes、@AutoController的合体,会自动生成Repository、Service、Req、Res、Controller类; ##### @AutoClass 根据自定义模板生成类; ##### @AutoReq 自去生成Req类; ##### @AutoRes 自动生成Res类; ##### @IgnoreReq 是否在Req类中忽略字段; ##### @IgnoreRes 是否在Res类中忽略字段; #### 使用说明 1. pom.xml中引入maven依赖: ```xml com.jeesys.auto.source jeesys-auto-source 1.0.0-SNAPSHOT provided ``` 2. 实体类上添加注解: @AutoReposiotry、@AutoService、@AutoReq、AutoRes ```java import com.jeesys.auto.source.annotations.AutoRepository; import com.jeesys.auto.source.annotations.AutoService; @AutoRepository @AutoService public class User { } ``` 3. 在其他类中可引用自动生成的Repository、Service、Dto,生成的类默认是实体类名加上相应的Repository、Service、Req、Res后缀,示例: ```java @RequiredArgsConstructor public class UserController { private final UserService userService; } ``` 4. pom.xml中配置插件: ```xml org.apache.maven.plugins maven-compiler-plugin 3.13.0 com.jeesys.auto.source jeesys-auto-source 1.0.0-SNAPSHOT ``` #### 配置说明: ##### 自定义参数说明 ```properties #repository层包名,默认为repository auto.source.repository_package_name=repository #repository类对象后缀,默认为Repository auto.source.repository_class_suffix=Repository #service层包名,默认为service auto.source.service_package_name=service #service类对象后缀,默认为Service auto.source.service_class_suffix=Service #DTO层中的请求对象包名,默认为req.dto auto.source.request_package_name=req.dto #DTO层中的请求类对象后缀,默认为Req auto.source.request_class_suffix=Req #DTO层中的响应对象包名,默认为req.res auto.source.response_package_name=req.res #DTO层中的响应类对象后缀,默认为Res auto.source.response_class_suffix=Res #controller层包名,默认为controller auto.source.controller_package_name=controller #* controller层对象后缀,默认为Controller auto.source.controller_class_suffix=Controller #是否忽略生成request层对象,默认为false auto.source.ignore_request=false #是否忽略生成response层对象,默认为false auto.source.ignore_response=false #是否忽略controller层对象生成,默认为false auto.source.ignore_controller=false #是否忽略repository层对象生成,默认为false auto.source.ignore_repository=false #是否忽略service层对象生成,默认为false auto.source.ignore_service=false #repository模板文件名称,默认为repository.ftl,自定义时需将模板文件放在templates_custom目录下 auto.source.template_repository=repository.ftl #Service模板文件名称,默认为service.ftl,自定义时需将模板文件放在templates_custom目录下 auto.source.template_service=service.ftl #Request模板文件名称,默认为dto.req.ftl,自定义时需将模板文件放在templates_custom目录下 auto.source.template_request=dto.req.ftl #Reponse模板文件名称,默认为dto.res.ftl,自定义时需将模板文件放在templates_custom目录下 auto.source.template_response=dto.res.ftl #Controller模板文件名称,默认为controller.ftl,自定义时需将模板文件放在templates_custom目录下 auto.source.template_controller=controller.ftl ``` **以上参数应放在maven-compiler-plugin插件的compilerArgs中,示例** ```xml -Aauto.source.repository_package_name=repository -Aauto.source.template_controller=rest.ftl ``` ##### 模板中内置变量说明 ```properties #要生成类的包名 packageName #要生成类的className className #实体类完整名称(包含类名称) entityFullClassName #实体类简称(无包名) entitySimpleClassName #实体类所在的包名 entityPackageName #基础包名(实体类所在的包名的上一级) basePackageName #Repository包名 repositoryPackageName #Repository类名 repositoryClassName #Service包名 servicePackageName #Service类名 serviceClassName #DTO请求类包名 reqPackageName #DTO请求类类名 reqClassName #DTO响应类包名 resPackageName #DTO响应类类名 resClassName #Controller包名 controllerPackageName #Controller类名 controllerClassName #类上的文档注释 classDocComment #字段信息 fieldInfos ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request