开始使用
开始使用
提示:如果您是d+新用户,需要体验d+及devtools,建议您 下载playground体验包 (opens new window),避免手动配置的麻烦。
1. 创建新的Spring Boot web项目
推荐使用 Spring Initializer (opens new window),快速初始化一个 Spring Boot 工程。 如果您使用IntelliJ IDEA,可以直接通过菜单: File -> New -> Project -> Spring Initializr 创建。
2. 引入依赖
- Maven项目引入依赖
<dependency>
<groupId>com.diboot</groupId>
<artifactId>diboot-core-spring-boot-starter</artifactId>
<version>{latestVersion}</version>
</dependency>
<dependency>
<groupId>com.diboot</groupId>
<artifactId>diboot-devtools-spring-boot-starter</artifactId>
<version>{latestVersion}</version>
<scope>provided</scope><!-- 打war包时剔除,注: 某些IDEA版本存在provided的支持问题,可通过需要生成时手动启用,打包或不需要时注释掉的方式剔除devtools依赖 -->
</dependency>- Gradle项目引入依赖
compile("com.diboot:diboot-core-spring-boot-starter:{latestVersion}")
providedCompile("com.diboot:diboot-devtools-spring-boot-starter:{latestVersion}")如果spring boot项目需要打jar包运行,则需要参考如下配置确保打包时剔除devtools:
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 打jar包时剔除 -->
<excludes>
<exclude>
<groupId>com.diboot</groupId>
<artifactId>diboot-devtools-spring-boot-starter</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>注意
- devtools-spring-boot-starter 是用于开发过程的助手工具,须声明 exclude剔除devtools jar,以免打包至非开发环境。
- 某些IDEA版本存在provided声明支持情况,可通过手动需要时启用,打包不需要时注释掉的方式剔除devtools依赖。
3. 添加配置信息
- core starter依赖的数据源配置(已配置可忽略),Mysql示例:
spring:
datasource:
url: jdbc:mysql://xxxx:3306/xxx?characterEncoding=utf8&serverTimezone=GMT%2B8
username: xx
password: xxx
maximum-pool-size: 5
driver-class-name: com.mysql.cj.jdbc.Driver- devtools 配置示例:
diboot:
devtools:
## 生成代码 开发者
codes-author: luoy
## 域名
codes-copyright: www.cdsimayi.com.cn
## 版本
codes-version: 1.0
## 输出代码路径
output-path: authority-service/src/main/java/com/cdsimayi/authority/
## 输出sql路径
output-path-sql: authority-service/src/main/resources/
## 前端项目路径
output-path-frontend: ../diboot-antd-admin/
## 是否启动lombok生成bean
enable-lombok: true
## 是否启动swagger生成
enable-swagger: true
generate-mapper-xml: true
## oauth 账号
cloud-username: admin
## oauth 密码
cloud-password: 123456
## 认证服务地址
cloud-auth-server-addr: http://10.10.10.103:8001以下devtools 相关配置均可根据实际情况填写
- devtools 配置参数说明:
- spring.main.allow-bean-definition-overriding=true:遇到同样名字的Bean时,允许覆盖。
以下devtools 相关配置均可根据实际情况填写
- codes-version:当前使用devtools的版本号。
- codes-copyright:生成代码的版权归属,显示在每个类或接口的注释中。
- codes-author:生成代码的作者,显示在每个类或接口的注释中。
- output-path:当前项目代码的默认起始路径
- output-path-*:分别定义当前项目中Entity、VO、Service及其实现类、Mapper及映射文件、Controller、等文件所在的路径。
- output-path-sql:devtools生成的数据结构变更SQL存储路径,便于同步至非开发环境。
- generate-mapper-xml:是否生成Mapper.xml文件,默认true
- enable-lombok:是否引入Lombok注解,若设置true,请注意添加Lombok依赖。
- enable-swagger:是否引入Swagger注解,若设置true,请注意添加Swagger依赖。
- output-path-frontend:前端Vue项目路径,用于前端代码生成(此处如果与后端项目为同一项目下不同模块,可只配置模块名,否则需要配置绝对路径,即全路径)。前端项目下载: element-admin (opens new window)或 antd-admin
如果您使用的是PostgreSQL数据库,还需要额外添加两行配置,以此来适配boolean类型字段所对应的数据库的boolean类型,需添加的配置如下:
mybatis-plus:
global-config:
db-config:
logic-delete-value: true
logic-not-delete-value: false4. 启动项目
以 Spring Boot 项目在IntelliJ IDEA中的一种启动方式为例:
在项目入口文件 Application 上点击右键,在弹出的菜单上点击 RUN 'Application' 。 当出现类似下面提示时,表示启动成功:
: Started Application in 4.223 seconds (JVM running for 16.693)devtools在初次运行中,会自动检测安装以diboot_前缀的数据库表。
5. 打开管理页面
在控制台(Console)上的启动日志最后,找到如下入口:
: Devtools v2.x 初始化完成
: ...
: URL: http://localhost:8080/example/diboot/index.html
: ...其中的 URL 即是devtools页面链接,点击即可打开Devtools操作界面。
6. 生成依赖组件的初始化代码
进入devtools操作页面,初次进入会提示生成基础组件的初始化代码(将组件的controller等代码生成到本地方便修改)。 根据依赖的组件不同,可各自生成对应的初始化代码。
组件基础代码生成后,需要重启应用,以便后台接口生效。
如连接后端后发现验证码无法显示,请检查是否生成了IAM组件的基础代码并重启了应用
注意
- Devtools是用于开发过程的助手工具,切勿将其打包至非开发环境。实践准则:
- 方式一(非开发环境取消devtools依赖):
- Maven配置
<!-- dependency节点 -->
<dependency>
<groupId>com.diboot</groupId>
<artifactId>diboot-devtools-spring-boot-starter</artifactId>
<scope>provided</scope><!-- 打war包时剔除,注: IDEA社区版请勿添加此行 -->
</dependency>
<!-- plugins节点配置 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 打jar包时剔除 -->
<excludes>
<exclude>
<groupId>com.diboot</groupId>
<artifactId>diboot-devtools-spring-boot-starter</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>- Gradle项目引入依赖
providedCompile("com.diboot:diboot-devtools-spring-boot-starter:$dibootDevtoolsVersion")- 方式二(为devtools创建专属项目,与代码项目隔离开): 单独为devtools建立一个专属项目,生成代码路径指向你的项目代码,需要使用devtools时启动这个devtools项目。
参考样例
devtools使用样例(gradle配置) diboot-devtools-example
