新建数据库

  1. 在 mysql 中新建一个 eip-admin-starter-mysql 的数据库
  2. 进入Web基础框架的 eip-admin-starter-rest 工程下,找到 resources 目录,进入 db 文件夹,找到 3.0.0 对应的数据脚本,在数据库 eip-admin-starter-mysql 中执行该脚本

入门开发指南-后端开发-工程准备-01.png
3.成功执行后数据库中应该有如下这些表:
入门开发指南-后端开发-工程准备-02.png

创建表结构

根据前面系统的需求,我们需要将数据库的表结构先建立好

  1. DROP TABLE IF EXISTS `todo`;
  2. CREATE TABLE `todo` (
  3. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '待办事项ID',
  4. `name` varchar(200) DEFAULT NULL COMMENT '待办事项名称',
  5. `status` tinyint(4) DEFAULT NULL COMMENT '待办事项状态 -1:未完成 1:已完成',
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='待办事项';

确定好表结构后将如上方的 sql 建表语句在数据库 eip-admin-starter-mysql 中执行下,执行成功后数据库中最终表如下:
入门开发指南-后端开发-工程准备-03.png

通过公司maven私服引入依赖

如果不想手动打包,直接通过依赖引入完成入门开发案例,则可以选择在maven配置文件中添加公司maven私服镜像地址

添加公司maven私服依赖

进入maven的安装路径下,找到conf文件夹,选择修改settings.xml文件,并找到 mirrors 节点,添加如下镜像:

  1. <!--公司maven库地址 http://60.174.249.206:7000/nexus/-->
  2. <!--公司的maven库-->
  3. <mirror>
  4. <id>nexus</id>
  5. <mirrorOf>*</mirrorOf>
  6. <name>Nexus Public Mirror</name>
  7. <!--
  8. <url>http://192.168.80.55:7000/nexus/content/groups/public/</url>
  9. -->
  10. <url>http://60.174.249.206:7000/nexus/content/groups/public/</url>
  11. </mirror>

通过源码打包至本地

如果已经添加过公司maven私服的依赖则可以跳过本步骤,直接跳到【新建工程】开始创建后端工程

修改pom.xml文件

首先需要到eip-admin-starter-rest工程的 pom.xml 文件中注释下面的插件:
入门指南-后端工程开发-工程初始化-01.png

打包至本地仓库

在相应的插件注释后,点击IDEA中的【maven】在展开的页面中中找到如下列表,先点击”clean”,然后再点击”install”:
入门指南-后端工程开发-工程初始化-02.png
点击”install”一段时间后,在控制台如果看到类似如下的提示日志,则表明打包成功了:
入门指南-后端工程开发-工程初始化-03.png

新建工程

这里假设系统的名称为 todo,包名称为 com.ustcinfo.eip.todo,IDE演示如下:

打开IDEA
QQ20190425-150344@2x.png

创建maven工程
3.png
填写项目信息
4.png
设置工程路径

创建完5.png成页面如下
6.png

引入基础平台

修改工程中的pom

[!TIP|label: 小提示]
添加eip-admin-starter-rest 依赖,版本号 请使用最新版,不清楚最新版是多少请看【更新日志】

添加基础框架eip-admin-starter-rest依赖后,如果报错找不到该依赖,请查看本地仓库中是否有该jar包,如果没有请向上翻,找到【打包至本地仓库】完成对应操作,或者找到【通过公司maven私服引入依赖】添加公司maven私服镜像

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.ustcinfo.eip</groupId>
  7. <artifactId>todo</artifactId>
  8. <version>1.0</version>
  9. <parent>
  10. <groupId>org.springframework.boot</groupId>
  11. <artifactId>spring-boot-starter-parent</artifactId>
  12. <version>2.0.3.RELEASE</version>
  13. </parent>
  14. <dependencies>
  15. <dependency>
  16. <groupId>com.ustcinfo.ishare.eip</groupId>
  17. <artifactId>eip-admin-starter-rest</artifactId>
  18. <version>3.0.0</version>
  19. </dependency>
  20. </dependencies>
  21. </project>

[!DANGER|label: 注意]
添加spring-boot-starter-parent 为parent,版本号为: 2.0.3.RELEASE

添加配置文件

在resources目录下新建一个文件名为 application.yml,同时将如下内容复制进去:

  1. # Tomcat
  2. server:
  3. tomcat:
  4. uri-encoding: UTF-8
  5. max-threads: 1000
  6. min-spare-threads: 30
  7. #tomcat启动的端口
  8. port: 8081
  9. connection-timeout: 5000ms
  10. servlet:
  11. #tomcat访问路径,类似tomcat/webapps下的项目名称
  12. context-path: /eip-admin-rest
  13. admin:
  14. # 可以扩展自己的mp填充、必须配置才能够生效启动
  15. meta-object-handler: com.ustcinfo.ishare.eip.admin.starter.mybatis.handlers.AdminMetaObjectHandler
  16. logic-sql-injector: com.ustcinfo.ishare.eip.admin.starter.mybatis.injector.AdminISqlInjector
  17. pagination-interceptor: com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor
  18. spring:
  19. profiles:
  20. # 运行环境 dev|test|prod,根据active动态加载application-active.yml配置文件
  21. active: dev
  22. # jackson时间格式化
  23. jackson:
  24. time-zone: GMT+8
  25. date-format: yyyy-MM-dd HH:mm:ss
  26. servlet:
  27. multipart:
  28. max-file-size: 100MB
  29. max-request-size: 100MB
  30. enabled: true
  31. mvc:
  32. throw-exception-if-no-handler-found: true
  33. # 静态资源访问接口前缀
  34. static-path-pattern: /static/**
  35. view:
  36. prefix: classpath:/templates/
  37. suffix: .html
  38. resources:
  39. add-mappings: true
  40. # 静态资源路径
  41. static-locations: classpath:/static/**,classpath:templates/**,classpath:/**,classpath:/static,file:C:\Users\SIMPLE\Documents\img
  42. #mybatis
  43. mybatis-plus:
  44. # mybatis xml配置文件扫描
  45. mapper-locations: classpath*:mapper/**/*.xml
  46. #实体扫描,多个package用逗号或者分号分隔
  47. typeAliasesPackage: com.ustcinfo.ishare.eip.admin.service.sys.entity
  48. global-config:
  49. db-config:
  50. #主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
  51. id-type: 0
  52. #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
  53. field-strategy: 1
  54. #驼峰下划线转换
  55. db-column-underline: true
  56. #刷新mapper 调试神器
  57. refresh-mapper: true
  58. #数据库大写下划线转换
  59. capital-mode: true
  60. #删除时的值
  61. logic-delete-value: 1
  62. #未删除的值
  63. logic-not-delete-value: 0
  64. configuration:
  65. map-underscore-to-camel-case: true
  66. cache-enabled: false
  67. call-setters-on-nulls: true
  68. kaptcha:
  69. properties:
  70. kaptcha-textproducer-char-length: 5
  71. kaptcha-background-clear-from: 255,255,255
  72. kaptcha-background-clear-to: 24,144,255
  73. jasypt:
  74. encryptor:
  75. password: eip

修改配置文件中的 static-locations 中的最后一个路径的地址为本地任意一个地址,后续页面主题相关的样式会保存在该路径下:
入门开发指南-后端开发-工程初始化-01.png
在resources目录下再创建一个 application-dev 的目录,并将如下内容复制进去:

  1. swagger:
  2. # 是否是生产环境,true: 生产环境,不可访问接口文档;false: 非生产环境,可访问接口文档
  3. production: false
  4. basic:
  5. # 是否启用swagger接口文档登录功能,登录后才可以访问
  6. enable: true
  7. # 访问swagger接口文档的登录用户名
  8. username: admin
  9. # 访问swagger接口文档的登录密码
  10. password: admin
  11. admin:
  12. logger:
  13. init-enable: true
  14. captcha:
  15. # 是否启用验证码
  16. enable: true
  17. cache:
  18. # 指定哪一个类中的初始化缓存生效、避免多次初始化问题
  19. init-main-class: com.ustcinfo.ishare.eip.admin.AdminRestApplication
  20. spring:
  21. datasource:
  22. type: com.alibaba.druid.pool.DruidDataSource
  23. driverClassName: com.mysql.jdbc.Driver
  24. druid:
  25. first:
  26. url: jdbc:mysql://localhost:3306/eip-admin-starter-mysql?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
  27. username: root
  28. password: 123456
  29. initial-size: 10
  30. max-active: 100
  31. min-idle: 10
  32. max-wait: 60000
  33. pool-prepared-statements: true
  34. max-pool-prepared-statement-per-connection-size: 20
  35. time-between-eviction-runs-millis: 60000
  36. min-evictable-idle-time-millis: 300000
  37. #validation-query: SELECT 1 FROM DUAL
  38. test-while-idle: true
  39. test-on-borrow: false
  40. test-on-return: false
  41. stat-view-servlet:
  42. enabled: true
  43. url-pattern: /druid/*
  44. # 访问SQL监控页面时的登录用户名
  45. login-username: admin
  46. # 访问SQL监控页面时的登录密码
  47. login-password: admin
  48. filter:
  49. stat:
  50. log-slow-sql: false
  51. slow-sql-millis: 1000
  52. merge-sql: false
  53. wall:
  54. config:
  55. multi-statement-allow: true

修改配置文件

将application-dev中的mysql修改为对应的数据库访问地址和账号密码,工程才能启动成功19.png


[!DANGER|label: 注意]
本系统核心配置文件为 application.yml和application-xx.yml,请注意修改spring.profiles.active的值来切换不同环境的配置
配置文件中使用 ENC 包裹的都是加密后的,具体的加密方法参考 【常见问题】/ 【配置文件加密】

初始化数据库

文件 eip-admin-starter-rest/src/main/resources/db/2.x/eip-admin-starter-mysql.sql 中是基础框架的初始化数据脚本,放入到MySQL中执行即可。

[!DANGER|label: 提醒你一下]
数据库初始化完毕后,记得修改 application-xxx.yml 配置文件中数据库连接信息