| name | integrate-allison1875 |
| description | Add allison1875-maven-plugin and allison1875-support to a modern Spring Boot project and configure .allison1875.yml. Use when the user asks to integrate allison1875, add the Allison 1875 Maven plugin, or configure .allison1875.yml in a Spring Boot project. |
接入 Allison1875
为现代 Spring Boot 工程接入 allison1875-maven-plugin、allison1875-support 依赖,并配置 .allison1875.yml 文件,文件内容是YAML格式的配置项。
一、添加 Maven 依赖与插件
1. 依赖
在 pom.xml 的 <dependencies> 中增加:
<dependency>
<groupId>com.spldeolin.allison1875</groupId>
<artifactId>allison1875-support</artifactId>
<version>13.0</version>
</dependency>
若使用正式发布版,将 version 改为 Maven Central 上的版本。
2. 插件
在 <build><plugins> 中增加:
<plugin>
<groupId>com.spldeolin.allison1875</groupId>
<artifactId>allison1875-maven-plugin</artifactId>
<version>13.0</version>
</plugin>
若项目使用自定义 Module(见下文「自定义 Module」),可在 <plugin> 内通过 <dependencies> 引入对应 jar。
二、配置 .allison1875.yml
在工程根目录(与 pom.xml 同级)创建 .allison1875.yml。字段对应 Allison 1875 中的 Java 配置类,YAML 键名使用 camelCase,与 Java 字段名一致。
配置方式约定
- 可推断:通过扫描项目包结构、已有 Controller/Service/Mapper/Entity、
application.yml、JDBC 等推断,直接填写并简要说明依据。
- 需询问:无法从代码或配置中可靠推断时(如密码、是否逻辑删除、分页类型等),在技能流程中列出问题,询问用户后再填。
- 不可省略:即便部分字段可直接使用默认值,也必须在
.allison1875.yml中显式注明。
以下通过YAML示例的形式,按模块分组列举每个字段,并说明含义、如何推断和何时询问。
controllerPackage: com.company.proj.biz.controller
reqDTOPackage: com.company.proj.biz.dto.req
respDTOPackage: com.company.proj.biz.dto.resp
enumPackage: com.company.proj.biz.enums
servicePackage: com.company.proj.biz.service
serviceImplPackage: com.company.proj.biz.service.impl
mapperPackage: com.company.proj.biz.mapper
entityPackage: com.company.proj.biz.entity
designPackage: com.company.proj.biz.design
paramDTOPackage: com.company.proj.biz.dto.param
recordDTOPackage: com.company.proj.biz.dto.record
wholeDTOPackage: com.company.proj.biz.dto
mapperXmlDirs:
- src/main/resources/mysql
- src/main/resources/oracle
author: Allister
javaVersion: 21
enableJavaxMoveToJakarta: false
isDataModelSerializable: false
isDataModelCloneable: false
isDataModelWithoutLombok: false
enableNoModifyAnnounce: true
enableLotNoAnnounce: false
dependencyDirsOrJavaFilePath: [ ]
globalUrlPrefix: ''
flushTo:
- MARKDOWN
markdownDir: api-docs
dslDir: api-dsls
yapiUrl: null
yapiToken: null
showdocUrl: null
showdocApiKey: null
showdocApiToken: null
mvcHandlerQualifierWildcards: [ ]
pageTypeQualifier: com.company.proj.biz.common.Pageinfo
enableOneService: true
serviceSourcePath: ../my-biz-service/src/main/java
serviceImplSourcePath: ../my-biz-service/src/main/java
dtoSourcePath: ../my-biz-service/src/main/java
jdbcUrl: jdbc:mysql://127.0.0.1:3306
userName: root
password: root
schema:
tables:
- teacher
- student
ddl: null
enableGenerateDesign: true
pageParamStyle: OFFSET_LIMIT
isEntityEndWithEntity: false
deletedSql: 'delete_flag = 1'
notDeletedSql: 'delete_flag = 0'
superEntity: null
entityExistenceResolution: OVERWRITE
persistenceSourcePath: ../my-biz-persist/src/main/java
wholeDTONamePostfix: WholeDTO
dslPath: ./forms.yml
enableDocAnalyzer: true
controllerRequestMapping: /api/v1/${formName}
shortUuidGeneration: UUID.randomUUID().toString().replaceAll("-", "").toLowerCase()
collectionEmptyCheck: CollectionUtils.isEmpty(${list})
pageTemplates:
pageResultConstruction: "new PageResult<>(${total}, ${dtos})"
pageResultEmptyConstruction: "new PageResult<>()"
三、校验与后续
配置完成后,将 examples/forms.yml 拷贝到项目根目录,然后运行 mvn -q allison1875:form-generator 命令验证配置是否正确。