-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.html
209 lines (192 loc) · 67.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>简介 | spring-boot-plus</title>
<meta name="description" content="spring-boot-plus是易于使用,快速,高效,功能丰富,开源的spring boot 脚手架。前后端分离,专注于后端服务! 每个人都可以独立、快速、高效地开发项目!Everyone can develop projects independently, quickly and efficiently!">
<link rel="icon" href="/favicon.ico">
<script>var _hmt = _hmt || []; (function() {var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f5cf3abbd62a6b246284fc0259a2a17d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s);})();</script>
<script>console.log("%c _ _ _ _\n (_) | | | | | |\n ___ _ __ _ __ _ _ __ __ _ ______| |__ ___ ___ | |_ ______ _ __ | |_ _ ___\n / __| '_ \\| '__| | '_ \\ / _` |______| '_ \\ / _ \\ / _ \\| __|______| '_ \\| | | | / __|\n \\__ \\ |_) | | | | | | | (_| | | |_) | (_) | (_) | |_ | |_) | | |_| \\__ \\\n |___/ .__/|_| |_|_| |_|\\__, | |_.__/ \\___/ \\___/ \\__| | .__/|_|\\__,_|___/\n | | __/ | | |\n |_| |___/ |_|","color:blue");</script>
<script>console.log("%c :: Spring Boot :: (v2.2.0.RELEASE)","color:blue");console.log("%c :: Spring Boot Plus :: (v1.4.0)","color:blue");console.log("%c :: spring-boot-plus :: https://springboot.plus","color:blue");</script>
<script>console.log("%cWelcome to spring-boot-plus","color:blue");console.log("%cGITHUB:https://github.com/geekidea/spring-boot-plus","color:blue");console.log("%cGITEE:https://gitee.com/geekidea/spring-boot-plus","color:blue");console.log("%cBlog:https://geekidea.io","color:blue");console.log("%cWebsite:https://springboot.plus","color:blue");</script>
<meta name="keywords" content="spring,spring boot,springbootplus,spring-boot-plus,springboot.plus,springbootplus官网,spring boot 开源项目,java,后台脚手架">
<link rel="preload" href="/assets/css/0.styles.6625b277.css" as="style"><link rel="preload" href="/assets/js/app.db17a95a.js" as="script"><link rel="preload" href="/assets/js/2.6d1275ea.js" as="script"><link rel="preload" href="/assets/js/36.8e373213.js" as="script"><link rel="prefetch" href="/assets/js/10.5be2a980.js"><link rel="prefetch" href="/assets/js/11.9362ee1a.js"><link rel="prefetch" href="/assets/js/12.e856ce33.js"><link rel="prefetch" href="/assets/js/13.8548df14.js"><link rel="prefetch" href="/assets/js/14.d421edbb.js"><link rel="prefetch" href="/assets/js/15.aa803848.js"><link rel="prefetch" href="/assets/js/16.1f82aa42.js"><link rel="prefetch" href="/assets/js/17.b76ebf7e.js"><link rel="prefetch" href="/assets/js/18.7c403e8a.js"><link rel="prefetch" href="/assets/js/19.85862406.js"><link rel="prefetch" href="/assets/js/20.50118e6e.js"><link rel="prefetch" href="/assets/js/21.6ecbad1e.js"><link rel="prefetch" href="/assets/js/22.04150677.js"><link rel="prefetch" href="/assets/js/23.31e42250.js"><link rel="prefetch" href="/assets/js/24.62d268d4.js"><link rel="prefetch" href="/assets/js/25.bc860894.js"><link rel="prefetch" href="/assets/js/26.3d26b5e3.js"><link rel="prefetch" href="/assets/js/27.8e7349c7.js"><link rel="prefetch" href="/assets/js/28.4c239e18.js"><link rel="prefetch" href="/assets/js/29.aaac18de.js"><link rel="prefetch" href="/assets/js/3.54236c22.js"><link rel="prefetch" href="/assets/js/30.9db4eedc.js"><link rel="prefetch" href="/assets/js/31.e2f591b8.js"><link rel="prefetch" href="/assets/js/32.6f75b9c1.js"><link rel="prefetch" href="/assets/js/33.fdd459fb.js"><link rel="prefetch" href="/assets/js/34.7c8a0eef.js"><link rel="prefetch" href="/assets/js/35.8ad0c5f3.js"><link rel="prefetch" href="/assets/js/37.95287516.js"><link rel="prefetch" href="/assets/js/38.282f1db3.js"><link rel="prefetch" href="/assets/js/39.34f2b25f.js"><link rel="prefetch" href="/assets/js/4.337abf8d.js"><link rel="prefetch" href="/assets/js/40.ba84faba.js"><link rel="prefetch" href="/assets/js/41.6a8df5b8.js"><link rel="prefetch" href="/assets/js/42.02bc737b.js"><link rel="prefetch" href="/assets/js/43.5b34dcc0.js"><link rel="prefetch" href="/assets/js/44.d430d71d.js"><link rel="prefetch" href="/assets/js/45.eaa465f2.js"><link rel="prefetch" href="/assets/js/46.11cd0dc4.js"><link rel="prefetch" href="/assets/js/47.65a87e15.js"><link rel="prefetch" href="/assets/js/48.250dd2e3.js"><link rel="prefetch" href="/assets/js/49.5d4f098b.js"><link rel="prefetch" href="/assets/js/5.76db1105.js"><link rel="prefetch" href="/assets/js/50.bb697104.js"><link rel="prefetch" href="/assets/js/51.5f6f5b65.js"><link rel="prefetch" href="/assets/js/52.a73139ed.js"><link rel="prefetch" href="/assets/js/53.4d2c7093.js"><link rel="prefetch" href="/assets/js/54.23543b0e.js"><link rel="prefetch" href="/assets/js/55.5f10a002.js"><link rel="prefetch" href="/assets/js/56.90a14ce0.js"><link rel="prefetch" href="/assets/js/57.d16f247e.js"><link rel="prefetch" href="/assets/js/58.9477625f.js"><link rel="prefetch" href="/assets/js/59.b90e777a.js"><link rel="prefetch" href="/assets/js/6.7b498927.js"><link rel="prefetch" href="/assets/js/60.9ac1ad41.js"><link rel="prefetch" href="/assets/js/61.76ce5abb.js"><link rel="prefetch" href="/assets/js/7.c2acd43f.js"><link rel="prefetch" href="/assets/js/8.39f782cd.js"><link rel="prefetch" href="/assets/js/9.241eeeec.js">
<link rel="stylesheet" href="/assets/css/0.styles.6625b277.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">spring-boot-plus</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/guide/" class="nav-link router-link-exact-active router-link-active">指南</a></div><div class="nav-item"><a href="/config/" class="nav-link">配置</a></div><div class="nav-item"><a href="https://github.com/geekidea/spring-boot-plus/blob/master/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="nav-link external">
更新日志
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><a href="http://geekidea.io/spring-boot-plus-apidocs/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Java Api
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><a href="http://47.105.159.10/api/docs" target="_blank" rel="noopener noreferrer" class="nav-link external">
Swagger
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><a href="http://47.105.159.10/api" target="_blank" rel="noopener noreferrer" class="nav-link external">
后端演示
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><a href="http://47.105.159.10" target="_blank" rel="noopener noreferrer" class="nav-link external">
前端演示
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/guide/" class="nav-link router-link-exact-active router-link-active">简体中文</a></li><li class="dropdown-item"><!----> <a href="/en/guide/" class="nav-link">English</a></li></ul></div></div> <a href="https://github.com/geekidea/spring-boot-plus" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/guide/" class="nav-link router-link-exact-active router-link-active">指南</a></div><div class="nav-item"><a href="/config/" class="nav-link">配置</a></div><div class="nav-item"><a href="https://github.com/geekidea/spring-boot-plus/blob/master/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="nav-link external">
更新日志
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><a href="http://geekidea.io/spring-boot-plus-apidocs/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Java Api
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><a href="http://47.105.159.10/api/docs" target="_blank" rel="noopener noreferrer" class="nav-link external">
Swagger
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><a href="http://47.105.159.10/api" target="_blank" rel="noopener noreferrer" class="nav-link external">
后端演示
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><a href="http://47.105.159.10" target="_blank" rel="noopener noreferrer" class="nav-link external">
前端演示
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/guide/" class="nav-link router-link-exact-active router-link-active">简体中文</a></li><li class="dropdown-item"><!----> <a href="/en/guide/" class="nav-link">English</a></li></ul></div></div> <a href="https://github.com/geekidea/spring-boot-plus" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>快速入门</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/" class="active sidebar-link">简介</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/guide/#目标" class="sidebar-link">目标</a></li><li class="sidebar-sub-header"><a href="/guide/#后端服务版本库" class="sidebar-link">后端服务版本库</a></li><li class="sidebar-sub-header"><a href="/guide/#官网" class="sidebar-link">官网</a></li><li class="sidebar-sub-header"><a href="/guide/#项目架构" class="sidebar-link">项目架构</a></li><li class="sidebar-sub-header"><a href="/guide/#changelog" class="sidebar-link">CHANGELOG</a></li><li class="sidebar-sub-header"><a href="/guide/#java-docs" class="sidebar-link">Java Docs</a></li><li class="sidebar-sub-header"><a href="/guide/#使用" class="sidebar-link">使用</a></li><li class="sidebar-sub-header"><a href="/guide/#_5分钟完成增删改查" class="sidebar-link">5分钟完成增删改查</a></li><li class="sidebar-sub-header"><a href="/guide/#快速开始" class="sidebar-link">快速开始</a></li><li class="sidebar-sub-header"><a href="/guide/#详细文档" class="sidebar-link">详细文档</a></li><li class="sidebar-sub-header"><a href="/guide/#centos快速安装环境-构建-部署-启动spring-boot-plus项目" class="sidebar-link">CentOS快速安装环境/构建/部署/启动spring-boot-plus项目</a></li><li class="sidebar-sub-header"><a href="/guide/#spring-boot-plus-views" class="sidebar-link">spring-boot-plus Views</a></li><li class="sidebar-sub-header"><a href="/guide/#spring-boot-plus-视频" class="sidebar-link">spring-boot-plus 视频 🎥</a></li><li class="sidebar-sub-header"><a href="/guide/#联系" class="sidebar-link">联系</a></li><li class="sidebar-sub-header"><a href="/guide/#license" class="sidebar-link">License</a></li></ul></li><li><a href="/guide/quick-start.html" class="sidebar-link">快速开始</a></li><li><a href="/guide/project-config.html" class="sidebar-link">配置文件</a></li><li><a href="/guide/tree.html" class="sidebar-link">目录结构</a></li><li><a href="/guide/deploy.html" class="sidebar-link">运维部署</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>核心功能</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/generator.html" class="sidebar-link">生成CRUD代码</a></li><li><a href="/guide/springbootadmin.html" class="sidebar-link">Spring Boot Admin</a></li><li><a href="/guide/centos-deploy.html" class="sidebar-link">CentOS发布</a></li><li><a href="/guide/upload-download-resource.html" class="sidebar-link">文件上传/下载/静态资源访问</a></li><li><a href="/guide/shiro-jwt.html" class="sidebar-link">Shiro+JWT权限管理</a></li><li><a href="/guide/rbac.html" class="sidebar-link">RBAC用户角色权限</a></li><li><a href="/guide/cors.html" class="sidebar-link">CORS跨域处理</a></li><li><a href="/guide/xss.html" class="sidebar-link">XSS跨站脚本攻击处理</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>FAQ</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/faq.html" class="sidebar-link">FAQ</a></li><li><a href="/guide/idea-spring-boot-plus.html" class="sidebar-link">IDEA导入spring-boot-plus</a></li><li><a href="/guide/eclipse-spring-boot-plus.html" class="sidebar-link">Eclipse导入spring-boot-plus</a></li><li><a href="/guide/swagger-scan-package.html" class="sidebar-link">Swagger扫描多个包</a></li><li><a href="/guide/oracle.html" class="sidebar-link">spring-boot-plus使用Oracle配置</a></li><li><a href="/guide/sqlserver.html" class="sidebar-link">spring-boot-plus使用SQLServer配置</a></li><li><a href="/guide/contact.html" class="sidebar-link">QQ技术交流群</a></li><li><a href="/guide/donate.html" class="sidebar-link">赞赏支持</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="简介"><a href="#简介" aria-hidden="true" class="header-anchor">#</a> 简介</h1> <p align="center"><a href="https://github.com/geekidea/spring-boot-plus"><img alt="spring-boot-plus logo" src="https://springboot.plus/img/logo.png"></a></p> <p align="center">
Everyone can develop projects independently, quickly and efficiently!
</p> <p align="center"><a href="https://github.com/geekidea/spring-boot-plus/"><img alt="spring-boot-plus version" src="https://img.shields.io/badge/spring--boot--plus-1.4.0-blue"></a> <a href="https://github.com/spring-projects/spring-boot"><img alt="spring boot version" src="https://img.shields.io/badge/spring%20boot-2.2.0.RELEASE-brightgreen"></a> <a href="https://www.apache.org/licenses/LICENSE-2.0"><img alt="code style" src="https://img.shields.io/badge/license-Apache%202-4EB1BA.svg?style=flat-square"></a></p> <h3 id="spring-boot-plus是一套集成spring-boot常用开发组件的后台快速开发框架"><a href="#spring-boot-plus是一套集成spring-boot常用开发组件的后台快速开发框架" aria-hidden="true" class="header-anchor">#</a> spring-boot-plus是一套集成spring boot常用开发组件的后台快速开发框架</h3> <blockquote><p>Spring-Boot-Plus是易于使用,快速,高效,功能丰富,开源的spring boot 脚手架.</p></blockquote> <blockquote><p>前后端分离,专注于后端服务</p></blockquote> <h2 id="目标"><a href="#目标" aria-hidden="true" class="header-anchor">#</a> 目标</h2> <blockquote><p>每个人都可以独立、快速、高效地开发项目!</p></blockquote> <h2 id="后端服务版本库"><a href="#后端服务版本库" aria-hidden="true" class="header-anchor">#</a> 后端服务版本库</h2> <h4 id="github-gitee"><a href="#github-gitee" aria-hidden="true" class="header-anchor">#</a> <a href="https://github.com/geekidea/spring-boot-plus" target="_blank" rel="noopener noreferrer">GITHUB<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a> | <a href="https://gitee.com/geekidea/spring-boot-plus" target="_blank" rel="noopener noreferrer">GITEE<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h4> <h4 id="前端项目版本库-react"><a href="#前端项目版本库-react" aria-hidden="true" class="header-anchor">#</a> 前端项目版本库(React)</h4> <h4 id="github-gitee-2"><a href="#github-gitee-2" aria-hidden="true" class="header-anchor">#</a> <a href="https://github.com/geekidea/spring-boot-plus-admin-react" target="_blank" rel="noopener noreferrer">GITHUB<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a> | <a href="https://gitee.com/geekidea/spring-boot-plus-admin-react" target="_blank" rel="noopener noreferrer">GITEE<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h4> <h2 id="官网"><a href="#官网" aria-hidden="true" class="header-anchor">#</a> 官网</h2> <h4 id="springboot-plus"><a href="#springboot-plus" aria-hidden="true" class="header-anchor">#</a> <a href="http://springboot.plus" target="_blank" rel="noopener noreferrer">springboot.plus<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h4> <h3 id="主要特性"><a href="#主要特性" aria-hidden="true" class="header-anchor">#</a> 主要特性</h3> <ol><li>集成spring boot 常用开发组件集、公共配置、AOP日志等</li> <li>集成mybatis plus快速dao操作</li> <li>快速生成后台代码: entity/param/vo/controller/service/mapper/xml</li> <li>集成swagger2,可自动生成api文档</li> <li>集成jwt、shiro/spring security权限控制</li> <li>集成redis、spring cache、ehcache缓存</li> <li>集成rabbit/rocket/kafka mq消息队列</li> <li>集成druid连接池,JDBC性能和慢查询检测</li> <li>集成spring boot admin,实时检测项目运行情况</li> <li>使用assembly maven插件进行不同环境打包部署,包含启动、重启命令,配置文件提取到外部config目录</li></ol> <h2 id="项目架构"><a href="#项目架构" aria-hidden="true" class="header-anchor">#</a> 项目架构</h2> <p><img src="https://springboot.plus/img/spring-boot-plus-architecture.jpg" alt="spring-boot-plus-architecture.jpg"></p> <h3 id="项目环境"><a href="#项目环境" aria-hidden="true" class="header-anchor">#</a> 项目环境</h3> <table><thead><tr><th>中间件</th> <th>版本</th> <th>备注</th></tr></thead> <tbody><tr><td>JDK</td> <td>1.8+</td> <td>JDK1.8及以上</td></tr> <tr><td>MySQL</td> <td>5.7+</td> <td>5.7及以上</td></tr> <tr><td>Redis</td> <td>3.2+</td> <td></td></tr></tbody></table> <h3 id="技术选型"><a href="#技术选型" aria-hidden="true" class="header-anchor">#</a> 技术选型</h3> <table><thead><tr><th>技术</th> <th>版本</th> <th>备注</th></tr></thead> <tbody><tr><td>Spring Boot</td> <td>2.2.0.RELEASE</td> <td>最新发布稳定版</td></tr> <tr><td>Spring Framework</td> <td>5.2.0.RELEASE</td> <td>最新发布稳定版</td></tr> <tr><td>Mybatis</td> <td>3.5.2</td> <td>持久层框架</td></tr> <tr><td>Mybatis Plus</td> <td>3.2.0</td> <td>mybatis增强框架</td></tr> <tr><td>Alibaba Druid</td> <td>1.1.20</td> <td>数据源</td></tr> <tr><td>Fastjson</td> <td>1.2.62</td> <td>JSON处理工具集</td></tr> <tr><td>swagger2</td> <td>2.6.1</td> <td>api文档生成工具</td></tr> <tr><td>commons-lang3</td> <td>3.9</td> <td>常用工具包</td></tr> <tr><td>commons-io</td> <td>2.6</td> <td>IO工具包</td></tr> <tr><td>commons-codec</td> <td>1.13</td> <td>加密解密等工具包</td></tr> <tr><td>commons-collections4</td> <td>4.4</td> <td>集合工具包</td></tr> <tr><td>reflections</td> <td>0.9.11</td> <td>反射工具包</td></tr> <tr><td>hibernate-validator</td> <td>6.0.17.Final</td> <td>后台参数校验注解</td></tr> <tr><td>Shiro</td> <td>1.4.1</td> <td>权限控制</td></tr> <tr><td>JWT</td> <td>3.8.3</td> <td>JSON WEB TOKEN</td></tr> <tr><td>hutool-all</td> <td>5.0.3</td> <td>常用工具集</td></tr> <tr><td>lombok</td> <td>1.18.10</td> <td>注解生成Java Bean等工具</td></tr> <tr><td>mapstruct</td> <td>1.3.1.Final</td> <td>对象属性复制工具</td></tr></tbody></table> <h2 id="changelog"><a href="#changelog" aria-hidden="true" class="header-anchor">#</a> CHANGELOG</h2> <h4 id="changelog-md"><a href="#changelog-md" aria-hidden="true" class="header-anchor">#</a> <a href="https://github.com/geekidea/spring-boot-plus/blob/master/CHANGELOG.md" target="_blank" rel="noopener noreferrer">CHANGELOG.md<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h4> <h2 id="java-docs"><a href="#java-docs" aria-hidden="true" class="header-anchor">#</a> Java Docs</h2> <h4 id="java-api-docs"><a href="#java-api-docs" aria-hidden="true" class="header-anchor">#</a> <a href="https://apidoc.gitee.com/geekidea/spring-boot-plus/" target="_blank" rel="noopener noreferrer">Java Api Docs<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h4> <h2 id="使用"><a href="#使用" aria-hidden="true" class="header-anchor">#</a> 使用</h2> <h3 id="克隆-spring-boot-plus"><a href="#克隆-spring-boot-plus" aria-hidden="true" class="header-anchor">#</a> 克隆 spring-boot-plus</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">git</span> clone https://github.com/geekidea/spring-boot-plus.git
<span class="token builtin class-name">cd</span> spring-boot-plus
</code></pre></div><h3 id="maven-构建"><a href="#maven-构建" aria-hidden="true" class="header-anchor">#</a> Maven 构建</h3> <blockquote><p>默认使用local环境,对应配置文件:application-local.yml</p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code>mvn clean package -Plocal
</code></pre></div><h2 id="_5分钟完成增删改查"><a href="#_5分钟完成增删改查" aria-hidden="true" class="header-anchor">#</a> 5分钟完成增删改查</h2> <h3 id="_1-创建数据库表"><a href="#_1-创建数据库表" aria-hidden="true" class="header-anchor">#</a> 1. 创建数据库表</h3> <div class="language-sql extra-class"><pre class="language-sql"><code><span class="token comment">-- ----------------------------</span>
<span class="token comment">-- Table structure for foo_bar</span>
<span class="token comment">-- ----------------------------</span>
<span class="token keyword">DROP</span> <span class="token keyword">TABLE</span> <span class="token keyword">IF</span> <span class="token keyword">EXISTS</span> <span class="token punctuation">`</span>foo_bar<span class="token punctuation">`</span><span class="token punctuation">;</span>
<span class="token keyword">CREATE</span> <span class="token keyword">TABLE</span> <span class="token punctuation">`</span>foo_bar<span class="token punctuation">`</span>
<span class="token punctuation">(</span>
<span class="token punctuation">`</span>id<span class="token punctuation">`</span> <span class="token keyword">bigint</span><span class="token punctuation">(</span><span class="token number">20</span><span class="token punctuation">)</span> <span class="token operator">NOT</span> <span class="token boolean">NULL</span> <span class="token keyword">COMMENT</span> <span class="token string">'主键'</span><span class="token punctuation">,</span>
<span class="token punctuation">`</span>name<span class="token punctuation">`</span> <span class="token keyword">varchar</span><span class="token punctuation">(</span><span class="token number">20</span><span class="token punctuation">)</span> <span class="token operator">NOT</span> <span class="token boolean">NULL</span> <span class="token keyword">COMMENT</span> <span class="token string">'名称'</span><span class="token punctuation">,</span>
<span class="token punctuation">`</span>foo<span class="token punctuation">`</span> <span class="token keyword">varchar</span><span class="token punctuation">(</span><span class="token number">20</span><span class="token punctuation">)</span> <span class="token keyword">DEFAULT</span> <span class="token boolean">NULL</span> <span class="token keyword">COMMENT</span> <span class="token string">'Foo'</span><span class="token punctuation">,</span>
<span class="token punctuation">`</span>bar<span class="token punctuation">`</span> <span class="token keyword">varchar</span><span class="token punctuation">(</span><span class="token number">20</span><span class="token punctuation">)</span> <span class="token operator">NOT</span> <span class="token boolean">NULL</span> <span class="token keyword">COMMENT</span> <span class="token string">'Bar'</span><span class="token punctuation">,</span>
<span class="token punctuation">`</span>remark<span class="token punctuation">`</span> <span class="token keyword">varchar</span><span class="token punctuation">(</span><span class="token number">200</span><span class="token punctuation">)</span> <span class="token keyword">DEFAULT</span> <span class="token boolean">NULL</span> <span class="token keyword">COMMENT</span> <span class="token string">'备注'</span><span class="token punctuation">,</span>
<span class="token punctuation">`</span>state<span class="token punctuation">`</span> <span class="token keyword">int</span><span class="token punctuation">(</span><span class="token number">11</span><span class="token punctuation">)</span> <span class="token operator">NOT</span> <span class="token boolean">NULL</span> <span class="token keyword">DEFAULT</span> <span class="token string">'1'</span> <span class="token keyword">COMMENT</span> <span class="token string">'状态,0:禁用,1:启用'</span><span class="token punctuation">,</span>
<span class="token punctuation">`</span>version<span class="token punctuation">`</span> <span class="token keyword">int</span><span class="token punctuation">(</span><span class="token number">11</span><span class="token punctuation">)</span> <span class="token operator">NOT</span> <span class="token boolean">NULL</span> <span class="token keyword">DEFAULT</span> <span class="token string">'0'</span> <span class="token keyword">COMMENT</span> <span class="token string">'版本'</span><span class="token punctuation">,</span>
<span class="token punctuation">`</span>create_time<span class="token punctuation">`</span> <span class="token keyword">timestamp</span> <span class="token boolean">NULL</span> <span class="token keyword">DEFAULT</span> <span class="token keyword">CURRENT_TIMESTAMP</span> <span class="token keyword">COMMENT</span> <span class="token string">'创建时间'</span><span class="token punctuation">,</span>
<span class="token punctuation">`</span>update_time<span class="token punctuation">`</span> <span class="token keyword">timestamp</span> <span class="token boolean">NULL</span> <span class="token keyword">DEFAULT</span> <span class="token boolean">NULL</span> <span class="token keyword">COMMENT</span> <span class="token string">'修改时间'</span><span class="token punctuation">,</span>
<span class="token keyword">PRIMARY</span> <span class="token keyword">KEY</span> <span class="token punctuation">(</span><span class="token punctuation">`</span>id<span class="token punctuation">`</span><span class="token punctuation">)</span>
<span class="token punctuation">)</span> <span class="token keyword">ENGINE</span> <span class="token operator">=</span> <span class="token keyword">InnoDB</span>
<span class="token keyword">DEFAULT</span> <span class="token keyword">CHARSET</span> <span class="token operator">=</span> utf8mb4
<span class="token keyword">COLLATE</span> <span class="token operator">=</span> utf8mb4_general_ci <span class="token keyword">COMMENT</span> <span class="token operator">=</span><span class="token string">'FooBar'</span><span class="token punctuation">;</span>
<span class="token comment">-- ----------------------------</span>
<span class="token comment">-- Records of foo_bar</span>
<span class="token comment">-- ----------------------------</span>
<span class="token keyword">INSERT</span> <span class="token keyword">INTO</span> foo_bar <span class="token punctuation">(</span>id<span class="token punctuation">,</span> name<span class="token punctuation">,</span> foo<span class="token punctuation">,</span> bar<span class="token punctuation">,</span> remark<span class="token punctuation">,</span> state<span class="token punctuation">,</span> version<span class="token punctuation">,</span> create_time<span class="token punctuation">,</span> update_time<span class="token punctuation">)</span>
<span class="token keyword">VALUES</span> <span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token string">'FooBar'</span><span class="token punctuation">,</span> <span class="token string">'foo'</span><span class="token punctuation">,</span> <span class="token string">'bar'</span><span class="token punctuation">,</span> <span class="token string">'remark...'</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token string">'2019-11-01 14:05:14'</span><span class="token punctuation">,</span> <span class="token boolean">null</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">INSERT</span> <span class="token keyword">INTO</span> foo_bar <span class="token punctuation">(</span>id<span class="token punctuation">,</span> name<span class="token punctuation">,</span> foo<span class="token punctuation">,</span> bar<span class="token punctuation">,</span> remark<span class="token punctuation">,</span> state<span class="token punctuation">,</span> version<span class="token punctuation">,</span> create_time<span class="token punctuation">,</span> update_time<span class="token punctuation">)</span>
<span class="token keyword">VALUES</span> <span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token string">'HelloWorld'</span><span class="token punctuation">,</span> <span class="token string">'hello'</span><span class="token punctuation">,</span> <span class="token string">'world'</span><span class="token punctuation">,</span> <span class="token boolean">null</span><span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token string">'2019-11-01 14:05:14'</span><span class="token punctuation">,</span> <span class="token boolean">null</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h3 id="_2-使用代码生成器生成增删改查代码"><a href="#_2-使用代码生成器生成增删改查代码" aria-hidden="true" class="header-anchor">#</a> 2.使用代码生成器生成增删改查代码</h3> <blockquote><p>修改数据库信息</p></blockquote> <blockquote><p>修改组件名称/作者/数据库表名称/主键id</p></blockquote> <div class="language-text extra-class"><pre class="language-text"><code>/src/test/java/io/geekidea/springbootplus/test/SpringBootPlusGenerator.java
</code></pre></div><div class="language-java extra-class"><pre class="language-java"><code><span class="token comment">/**
* spring-boot-plus代码生成器入口类
*
* @author geekidea
* @date 2019-10-22
**/</span>
<span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">SpringBootPlusGenerator</span> <span class="token punctuation">{</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token keyword">void</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token class-name">String</span><span class="token punctuation">[</span><span class="token punctuation">]</span> args<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token class-name">CodeGenerator</span> codeGenerator <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">CodeGenerator</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 公共配置</span>
<span class="token comment">// 数据库配置</span>
codeGenerator
<span class="token punctuation">.</span><span class="token function">setUserName</span><span class="token punctuation">(</span><span class="token string">"root"</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setPassword</span><span class="token punctuation">(</span><span class="token string">"root"</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setDriverName</span><span class="token punctuation">(</span><span class="token string">"com.mysql.jdbc.Driver"</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setDriverUrl</span><span class="token punctuation">(</span><span class="token string">"jdbc:mysql://localhost:3306/spring_boot_plus?useUnicode=true&characterEncoding=UTF-8&useSSL=false"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 包信息</span>
codeGenerator
<span class="token punctuation">.</span><span class="token function">setProjectPackagePath</span><span class="token punctuation">(</span><span class="token string">"io/geekidea/springbootplus"</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setParentPackage</span><span class="token punctuation">(</span><span class="token string">"io.geekidea.springbootplus"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 组件作者等配置</span>
codeGenerator
<span class="token punctuation">.</span><span class="token function">setModuleName</span><span class="token punctuation">(</span><span class="token string">"foobar"</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setAuthor</span><span class="token punctuation">(</span><span class="token string">"geekidea"</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setPkIdColumnName</span><span class="token punctuation">(</span><span class="token string">"id"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 生成策略</span>
codeGenerator
<span class="token punctuation">.</span><span class="token function">setGeneratorStrategy</span><span class="token punctuation">(</span><span class="token class-name">CodeGenerator</span><span class="token punctuation">.</span><span class="token class-name">GeneratorStrategy</span><span class="token punctuation">.</span>ALL<span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setPageListOrder</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setParamValidation</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 生成实体映射相关代码,可用于数据库字段更新</span>
<span class="token comment">// 当数据库字段更新时,可自定义自动生成哪些那文件</span>
codeGenerator
<span class="token punctuation">.</span><span class="token function">setGeneratorEntity</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setGeneratorQueryParam</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setGeneratorQueryVo</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 生成业务相关代码</span>
codeGenerator
<span class="token punctuation">.</span><span class="token function">setGeneratorController</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setGeneratorService</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setGeneratorServiceImpl</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setGeneratorMapper</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span>
<span class="token punctuation">.</span><span class="token function">setGeneratorMapperXml</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 是否生成Shiro RequiresPermissions注解</span>
codeGenerator<span class="token punctuation">.</span><span class="token function">setRequiresPermissions</span><span class="token punctuation">(</span><span class="token boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 是否覆盖已有文件</span>
codeGenerator<span class="token punctuation">.</span><span class="token function">setFileOverride</span><span class="token punctuation">(</span><span class="token boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 初始化公共变量</span>
codeGenerator<span class="token punctuation">.</span><span class="token function">init</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 需要生成的表数组</span>
<span class="token comment">// xxx,yyy,zzz为需要生成代码的表名称</span>
<span class="token class-name">String</span><span class="token punctuation">[</span><span class="token punctuation">]</span> tables <span class="token operator">=</span> <span class="token punctuation">{</span>
<span class="token string">"foo_bar"</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token comment">// 循环生成</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token class-name">String</span> table <span class="token operator">:</span> tables<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment">// 设置需要生成的表名称</span>
codeGenerator<span class="token punctuation">.</span><span class="token function">setTableName</span><span class="token punctuation">(</span>table<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 生成代码</span>
codeGenerator<span class="token punctuation">.</span><span class="token function">generator</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><blockquote><p>生成的代码结构</p></blockquote> <div class="language-text extra-class"><pre class="language-text"><code>/src/main/java/io/geekidea/springbootplus/foobar
</code></pre></div><div class="language-text extra-class"><pre class="language-text"><code>└── foobar
├── controller
│ └── FooBarController.java
├── entity
│ └── FooBar.java
├── mapper
│ └── FooBarMapper.java
├── param
│ └── FooBarQueryParam.java
├── service
│ ├── FooBarService.java
│ └── impl
│ └── FooBarServiceImpl.java
└── vo
└── FooBarQueryVo.java
</code></pre></div><blockquote><p>Mapper XML</p></blockquote> <div class="language-text extra-class"><pre class="language-text"><code>/src/main/resources/mapper/foobar/FooBarMapper.xml
</code></pre></div><h3 id="_3-启动项目"><a href="#_3-启动项目" aria-hidden="true" class="header-anchor">#</a> 3. 启动项目</h3> <blockquote><p>项目入口类</p></blockquote> <div class="language-text extra-class"><pre class="language-text"><code>/src/main/java/io/geekidea/springbootplus/SpringBootPlusApplication.java
</code></pre></div><div class="language-java extra-class"><pre class="language-java"><code><span class="token comment">/**
* spring-boot-plus 项目启动入口
* @author geekidea
* @since 2018-11-08
*/</span>
<span class="token annotation punctuation">@EnableAsync</span>
<span class="token annotation punctuation">@EnableScheduling</span>
<span class="token annotation punctuation">@EnableTransactionManagement</span>
<span class="token annotation punctuation">@EnableConfigurationProperties</span>
<span class="token annotation punctuation">@EnableAdminServer</span>
<span class="token annotation punctuation">@MapperScan</span><span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"io.geekidea.springbootplus.**.mapper"</span><span class="token punctuation">}</span><span class="token punctuation">)</span>
<span class="token annotation punctuation">@SpringBootApplication</span>
<span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">SpringBootPlusApplication</span> <span class="token punctuation">{</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token keyword">void</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token class-name">String</span><span class="token punctuation">[</span><span class="token punctuation">]</span> args<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment">// 启动spring-boot-plus</span>
<span class="token class-name">ConfigurableApplicationContext</span> context <span class="token operator">=</span> <span class="token class-name">SpringApplication</span><span class="token punctuation">.</span><span class="token function">run</span><span class="token punctuation">(</span><span class="token class-name">SpringBootPlusApplication</span><span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">,</span> args<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// 打印项目信息</span>
<span class="token class-name">PrintApplicationInfo</span><span class="token punctuation">.</span><span class="token function">print</span><span class="token punctuation">(</span>context<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><h3 id="_4-访问项目swagger文档"><a href="#_4-访问项目swagger文档" aria-hidden="true" class="header-anchor">#</a> 4. 访问项目swagger文档</h3> <p><a href="http://127.0.0.1:8888/swagger-ui.html" target="_blank" rel="noopener noreferrer">http://127.0.0.1:8888/swagger-ui.html<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></p> <h3 id="_5-系统用户-增删改查分页swagger"><a href="#_5-系统用户-增删改查分页swagger" aria-hidden="true" class="header-anchor">#</a> 5. 系统用户 增删改查分页Swagger</h3> <p><img src="https://springboot.plus/img/sys_user_swagger-zh.png" alt="sys_user_swagger-zh.png"></p> <h2 id="快速开始"><a href="#快速开始" aria-hidden="true" class="header-anchor">#</a> 快速开始</h2> <p><a href="https://springboot.plus/guide/quick-start.html" target="_blank" rel="noopener noreferrer">快速开始<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></p> <h2 id="详细文档"><a href="#详细文档" aria-hidden="true" class="header-anchor">#</a> 详细文档</h2> <p><a href="https://springboot.plus" target="_blank" rel="noopener noreferrer">https://springboot.plus<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></p> <h2 id="centos快速安装环境-构建-部署-启动spring-boot-plus项目"><a href="#centos快速安装环境-构建-部署-启动spring-boot-plus项目" aria-hidden="true" class="header-anchor">#</a> CentOS快速安装环境/构建/部署/启动spring-boot-plus项目</h2> <h3 id="_1-下载安装脚本"><a href="#_1-下载安装脚本" aria-hidden="true" class="header-anchor">#</a> 1. 下载安装脚本</h3> <blockquote><p>安装 <code>jdk</code>, <code>git</code>, <code>maven</code>, <code>redis</code>, <code>mysql</code></p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">wget</span> -O download-install-all.sh https://raw.githubusercontent.com/geekidea/spring-boot-plus/master/docs/bin/install/download-install-all.sh
</code></pre></div><h3 id="_2-运行安装脚本"><a href="#_2-运行安装脚本" aria-hidden="true" class="header-anchor">#</a> 2. 运行安装脚本</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">sh</span> download-install-all.sh
</code></pre></div><h3 id="_3-修改mysql密码"><a href="#_3-修改mysql密码" aria-hidden="true" class="header-anchor">#</a> 3. 修改MySQL密码</h3> <div class="language-bash extra-class"><pre class="language-bash"><code>ALTER <span class="token environment constant">USER</span> <span class="token string">'root'</span>@<span class="token string">'localhost'</span> IDENTIFIED BY <span class="token string">'Springbootplus666!'</span><span class="token punctuation">;</span>
<span class="token builtin class-name">exit</span>
mysql -uroot -pSpringbootplus666<span class="token operator">!</span>
</code></pre></div><h3 id="_4-导入mysql脚本"><a href="#_4-导入mysql脚本" aria-hidden="true" class="header-anchor">#</a> 4. 导入MySQL脚本</h3> <div class="language-bash extra-class"><pre class="language-bash"><code>create database <span class="token keyword">if</span> not exists spring_boot_plus character <span class="token builtin class-name">set</span> utf8mb4<span class="token punctuation">;</span>
use spring_boot_plus<span class="token punctuation">;</span>
<span class="token builtin class-name">source</span> /root/mysql_spring_boot_plus.sql<span class="token punctuation">;</span>
show tables<span class="token punctuation">;</span>
<span class="token builtin class-name">exit</span>
</code></pre></div><h3 id="_5-下载部署脚本-deploy-sh"><a href="#_5-下载部署脚本-deploy-sh" aria-hidden="true" class="header-anchor">#</a> 5. 下载部署脚本 <code>deploy.sh</code></h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">wget</span> -O deploy.sh https://raw.githubusercontent.com/geekidea/spring-boot-plus/master/deploy/deploy.sh
</code></pre></div><h3 id="_6-执行脚本"><a href="#_6-执行脚本" aria-hidden="true" class="header-anchor">#</a> 6. 执行脚本</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">sh</span> deploy.sh
</code></pre></div><h3 id="_7-访问项目"><a href="#_7-访问项目" aria-hidden="true" class="header-anchor">#</a> 7.访问项目</h3> <blockquote><p>SpringBootAdmin管理页面</p></blockquote> <p><a href="http://47.105.159.10/api/" target="_blank" rel="noopener noreferrer">http://47.105.159.10/api/<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></p> <blockquote><p>spring-boot-plus Swagger文档页面</p></blockquote> <p><a href="http://47.105.159.10/api/docs" target="_blank" rel="noopener noreferrer">http://47.105.159.10/api/docs<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></p> <h3 id="_8-查看项目运行日志"><a href="#_8-查看项目运行日志" aria-hidden="true" class="header-anchor">#</a> 8. 查看项目运行日志</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">tail</span> -f -n <span class="token number">1000</span> /root/spring-boot-plus-server/logs/spring-boot-plus.log
</code></pre></div><h2 id="spring-boot-plus-views"><a href="#spring-boot-plus-views" aria-hidden="true" class="header-anchor">#</a> spring-boot-plus Views</h2> <h3 id="spring-boot-plus-idea-sources-views"><a href="#spring-boot-plus-idea-sources-views" aria-hidden="true" class="header-anchor">#</a> spring-boot-plus IDEA Sources Views</h3> <p><img src="https://spring-boot-plus.gitee.io/img/home/spring-boot-plus-idea.png" alt="spring-boot-plus-idea"></p> <h3 id="spring-boot-admin-instances"><a href="#spring-boot-admin-instances" aria-hidden="true" class="header-anchor">#</a> <a href="http://47.105.159.10/apiinstances/e211ba082db8/details" target="_blank" rel="noopener noreferrer">Spring Boot Admin Instances<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h3> <p><a href="http://47.105.159.10/apiinstances/e211ba082db8/details"><img src="https://spring-boot-plus.gitee.io/img/home/spring-boot-admin.png" alt="spring-boot-admin instances"></a></p> <h3 id="spring-boot-admin-statistics"><a href="#spring-boot-admin-statistics" aria-hidden="true" class="header-anchor">#</a> <a href="http://47.105.159.10/apiinstances/e211ba082db8/details" target="_blank" rel="noopener noreferrer">Spring Boot Admin Statistics<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h3> <p><a href="http://47.105.159.10/apiinstances/e211ba082db8/details"><img src="https://spring-boot-plus.gitee.io/img/home/spring-boot-admin-1.png" alt="spring-boot-admin statistics"></a></p> <h3 id="spring-boot-admin-log"><a href="#spring-boot-admin-log" aria-hidden="true" class="header-anchor">#</a> <a href="http://47.105.159.10/apiinstances/e211ba082db8/logfile" target="_blank" rel="noopener noreferrer">Spring Boot Admin Log<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h3> <p><a href="http://47.105.159.10/apiinstances/e211ba082db8/logfile"><img src="https://spring-boot-plus.gitee.io/img/home/spring-boot-admin-log.png" alt="spring-boot-admin log"></a></p> <h3 id="spring-boot-plus-swagger文档"><a href="#spring-boot-plus-swagger文档" aria-hidden="true" class="header-anchor">#</a> <a href="http://47.105.159.10/apiswagger-ui.html" target="_blank" rel="noopener noreferrer">spring-boot-plus Swagger文档<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h3> <p><a href="http://47.105.159.10/apiswagger-ui.html"><img src="https://spring-boot-plus.gitee.io/img/home/spring-boot-plus-swagger.png" alt="spring-boot-plus swagger docs"></a></p> <h3 id="spring-boot-plus-java-api-docs"><a href="#spring-boot-plus-java-api-docs" aria-hidden="true" class="header-anchor">#</a> <a href="http://geekidea.io/spring-boot-plus-apidocs/" target="_blank" rel="noopener noreferrer">spring-boot-plus Java Api Docs<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h3> <p><a href="http://geekidea.io/spring-boot-plus-apidocs/"><img src="https://spring-boot-plus.gitee.io/img/home/spring-boot-plus-java-apidocs.png" alt="spring-boot-plus Java Api Docs"></a></p> <h2 id="spring-boot-plus-视频"><a href="#spring-boot-plus-视频" aria-hidden="true" class="header-anchor">#</a> spring-boot-plus 视频 🎥</h2> <ul><li><a href="https://www.bilibili.com/video/av67401204" target="_blank" rel="noopener noreferrer">5分钟完成增删改查<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li> <li><a href="https://www.bilibili.com/video/av67218836/" target="_blank" rel="noopener noreferrer">CentOS 快速安装 JDK/Git/Maven/Redis/MySQL<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li> <li><a href="https://www.bilibili.com/video/av67218970/" target="_blank" rel="noopener noreferrer">CentOS 快速部署/构建/打包/运行项目<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul> <h2 id="联系"><a href="#联系" aria-hidden="true" class="header-anchor">#</a> 联系</h2> <ul><li>Email: <a href="mailto:springbootplus@aliyun.com">springbootplus@aliyun.com</a></li> <li>spring-boot-plus技术交流群</li></ul> <p><img src="https://springboot.plus/img/spring-boot-plus-qq-group.png" alt="spring-boot-plus QQ Group"></p> <h2 id="license"><a href="#license" aria-hidden="true" class="header-anchor">#</a> License</h2> <p>spring-boot-plus is under the Apache 2.0 license. See the <a href="https://github.com/geekidea/spring-boot-plus/blob/master/LICENSE" target="_blank" rel="noopener noreferrer">LICENSE<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a> file for details.</p></div> <footer class="page-edit"><div class="edit-link"><a href="https://github.com/geekidea/spring-boot-plus-doc/edit/master/guide/README.md" target="_blank" rel="noopener noreferrer">在 GitHub 上编辑此页</a> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></div> <!----></footer> <div class="page-nav"><p class="inner"><!----> <span class="next"><a href="/guide/quick-start.html">快速开始</a>→
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/assets/js/app.db17a95a.js" defer></script><script src="/assets/js/2.6d1275ea.js" defer></script><script src="/assets/js/36.8e373213.js" defer></script>
</body>
</html>