新建数据库
- 在 mysql 中新建一个 eip-admin-starter-mysql 的数据库
- 进入Web基础框架的 eip-admin-starter-rest 工程下,找到 resources 目录,进入 db 文件夹,找到 3.0.0 对应的数据脚本,在数据库 eip-admin-starter-mysql 中执行该脚本
创建表结构
根据前面系统的需求,我们需要将数据库的表结构先建立好
DROP TABLE IF EXISTS `todo`;
CREATE TABLE `todo` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '待办事项ID',
`name` varchar(200) DEFAULT NULL COMMENT '待办事项名称',
`status` tinyint(4) DEFAULT NULL COMMENT '待办事项状态 -1:未完成 1:已完成',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='待办事项';
确定好表结构后将如上方的 sql 建表语句在数据库 eip-admin-starter-mysql 中执行下,执行成功后数据库中最终表如下:
通过公司maven私服引入依赖
如果不想手动打包,直接通过依赖引入完成入门开发案例,则可以选择在maven配置文件中添加公司maven私服镜像地址
添加公司maven私服依赖
进入maven的安装路径下,找到conf文件夹,选择修改settings.xml文件,并找到 mirrors 节点,添加如下镜像:
<!--公司maven库地址 http://60.174.249.206:7000/nexus/-->
<!--公司的maven库-->
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Nexus Public Mirror</name>
<!--
<url>http://192.168.80.55:7000/nexus/content/groups/public/</url>
-->
<url>http://60.174.249.206:7000/nexus/content/groups/public/</url>
</mirror>
通过源码打包至本地
如果已经添加过公司maven私服的依赖则可以跳过本步骤,直接跳到【新建工程】开始创建后端工程
修改pom.xml文件
首先需要到eip-admin-starter-rest工程的 pom.xml 文件中注释下面的插件:
打包至本地仓库
在相应的插件注释后,点击IDEA中的【maven】在展开的页面中中找到如下列表,先点击”clean”,然后再点击”install”:
点击”install”一段时间后,在控制台如果看到类似如下的提示日志,则表明打包成功了:
新建工程
这里假设系统的名称为 todo,包名称为 com.ustcinfo.eip.todo,IDE演示如下:
打开IDEA
创建maven工程
填写项目信息
设置工程路径
引入基础平台
修改工程中的pom
[!TIP|label: 小提示]
添加eip-admin-starter-rest 依赖,版本号 请使用最新版,不清楚最新版是多少请看【更新日志】
添加基础框架eip-admin-starter-rest依赖后,如果报错找不到该依赖,请查看本地仓库中是否有该jar包,如果没有请向上翻,找到【打包至本地仓库】完成对应操作,或者找到【通过公司maven私服引入依赖】添加公司maven私服镜像
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ustcinfo.eip</groupId>
<artifactId>todo</artifactId>
<version>1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>com.ustcinfo.ishare.eip</groupId>
<artifactId>eip-admin-starter-rest</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
</project>
[!DANGER|label: 注意]
添加spring-boot-starter-parent 为parent,版本号为: 2.0.3.RELEASE
添加配置文件
在resources目录下新建一个文件名为 application.yml,同时将如下内容复制进去:
# Tomcat
server:
tomcat:
uri-encoding: UTF-8
max-threads: 1000
min-spare-threads: 30
#tomcat启动的端口
port: 8081
connection-timeout: 5000ms
servlet:
#tomcat访问路径,类似tomcat/webapps下的项目名称
context-path: /eip-admin-rest
admin:
# 可以扩展自己的mp填充、必须配置才能够生效启动
meta-object-handler: com.ustcinfo.ishare.eip.admin.starter.mybatis.handlers.AdminMetaObjectHandler
logic-sql-injector: com.ustcinfo.ishare.eip.admin.starter.mybatis.injector.AdminISqlInjector
pagination-interceptor: com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor
spring:
profiles:
# 运行环境 dev|test|prod,根据active动态加载application-active.yml配置文件
active: dev
# jackson时间格式化
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
enabled: true
mvc:
throw-exception-if-no-handler-found: true
# 静态资源访问接口前缀
static-path-pattern: /static/**
view:
prefix: classpath:/templates/
suffix: .html
resources:
add-mappings: true
# 静态资源路径
static-locations: classpath:/static/**,classpath:templates/**,classpath:/**,classpath:/static,file:C:\Users\SIMPLE\Documents\img
#mybatis
mybatis-plus:
# mybatis xml配置文件扫描
mapper-locations: classpath*:mapper/**/*.xml
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: com.ustcinfo.ishare.eip.admin.service.sys.entity
global-config:
db-config:
#主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
id-type: 0
#字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
field-strategy: 1
#驼峰下划线转换
db-column-underline: true
#刷新mapper 调试神器
refresh-mapper: true
#数据库大写下划线转换
capital-mode: true
#删除时的值
logic-delete-value: 1
#未删除的值
logic-not-delete-value: 0
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true
kaptcha:
properties:
kaptcha-textproducer-char-length: 5
kaptcha-background-clear-from: 255,255,255
kaptcha-background-clear-to: 24,144,255
jasypt:
encryptor:
password: eip
修改配置文件中的 static-locations 中的最后一个路径的地址为本地任意一个地址,后续页面主题相关的样式会保存在该路径下:
在resources目录下再创建一个 application-dev 的目录,并将如下内容复制进去:
swagger:
# 是否是生产环境,true: 生产环境,不可访问接口文档;false: 非生产环境,可访问接口文档
production: false
basic:
# 是否启用swagger接口文档登录功能,登录后才可以访问
enable: true
# 访问swagger接口文档的登录用户名
username: admin
# 访问swagger接口文档的登录密码
password: admin
admin:
logger:
init-enable: true
captcha:
# 是否启用验证码
enable: true
cache:
# 指定哪一个类中的初始化缓存生效、避免多次初始化问题
init-main-class: com.ustcinfo.ishare.eip.admin.AdminRestApplication
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver
druid:
first:
url: jdbc:mysql://localhost:3306/eip-admin-starter-mysql?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: 123456
initial-size: 10
max-active: 100
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
#validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
stat-view-servlet:
enabled: true
url-pattern: /druid/*
# 访问SQL监控页面时的登录用户名
login-username: admin
# 访问SQL监控页面时的登录密码
login-password: admin
filter:
stat:
log-slow-sql: false
slow-sql-millis: 1000
merge-sql: false
wall:
config:
multi-statement-allow: true
修改配置文件
将application-dev中的mysql修改为对应的数据库访问地址和账号密码,工程才能启动成功
[!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 配置文件中数据库连接信息