Awesome Open Source
Awesome Open Source

spring-boot-plus logo

Everyone can develop projects independently, quickly and efficiently๏ผ

spring-boot-plus version spring boot version code style

What is spring-boot-plus?

A easy-to-use, high-speed, high-efficient, feature-rich, open source spring boot scaffolding.

spring-boot-plus is a background rapid development framework that integrates spring boot common development components.

Front-end and back-end separation, focusing on back-end services


Everyone can develop projects independently, quickly and efficiently๏ผ




  • Integrated spring boot common development component set, common configuration, AOP log, etc
  • Maven Module Project
  • Integrated mybatis-plus fast dao operation
  • Quickly generate background code:entity/param/vo/controller/service/mapper/xml
  • Integrated Swagger/Knife4j, automatic generation of api documents
  • Integrated JWT,Shiro permission control
  • Integrated Redis Cache
  • Integration HikariCP connection pool, A solid, high-performance, JDBC connection pool at last.
  • Integrated Spring Boot Admin, real-time detection of project operation
  • Integrate maven-assembly-plugin for different environment package deployment, including startup and restart commands, and extract configuration files to external config directory

V2.0 Video Introduction

spring-boot-plus videos

Project structure

    โ”œโ”€โ”€ admin           SpringBootAdmin Server Module          
    โ”œโ”€โ”€ bootstrap       spring-boot-plus Bootstrap Module    
    โ”œโ”€โ”€ config          Config Module
    โ”œโ”€โ”€ distribution    Maven assembly Module        
    โ”œโ”€โ”€ docs            Document
    โ”œโ”€โ”€ example         Example Module
    โ”œโ”€โ”€ framework       Framework Core Module    
    โ”œโ”€โ”€ generator       Code Generator Module    
    โ”œโ”€โ”€ scheduled       Scheduled Module
    โ””โ”€โ”€ system          System Manager Module

Project Environment

Middleware Version Remark
JDK 1.8+ JDK1.8 and above
MySQL 5.7+ 5.7 and above
Redis 3.2+

Technology stack

Component Version Remark
Spring Boot 2.2.5.RELEASE Latest release stable version
Spring Framework 5.2.4.RELEASE Latest release stable version
Spring Boot Admin 2.2.2 Manage and monitor spring boot applications
Mybatis 3.5.3 DAO Framework
Mybatis Plus 3.3.1 mybatis Enhanced framework
HikariCP 3.4.2 DataSource
Fastjson 1.2.67 JSON processing toolset
Swagger2 2.9.2 Api document generation tool
Knife4j 2.0.2 Api document generation tool
commons-lang3 3.9 Apache language toolkit
commons-io 2.6 Apache IO Toolkit
commons-codec 1.14 Apache Toolkit such as encryption and decryption
commons-collections4 4.4 Apache collections toolkit
reflections 0.9.9 Reflection Toolkit
hibernate-validator 6.0.18.Final Validator toolkit
Shiro 1.5.1 Permission control
hutool-all 5.2.4 Common toolset
lombok 1.18.12 Automatically plugs
mapstruct 1.3.1.Final Object property replication tool

Project Link Diagram



Quick Start

Clone spring-boot-plus

git clone
cd spring-boot-plus

Maven Build

dev environment is used by default, The configuration file๏ผšapplication-dev.yml

mvn clean package -Pdev

5 Minutes Finish CRUD

1. Create Table

-- ----------------------------
-- Table structure for foo_bar
-- ----------------------------
CREATE TABLE `foo_bar`
    `id`            bigint(20)  NOT NULL COMMENT 'ID',
    `name`          varchar(20) NOT NULL COMMENT 'Name',
    `foo`           varchar(20)          DEFAULT NULL COMMENT 'Foo',
    `bar`           varchar(20) NOT NULL COMMENT 'Bar',
    `remark`        varchar(200)         DEFAULT NULL COMMENT 'Remark',
    `state`         int(11)     NOT NULL DEFAULT '1' COMMENT 'State๏ผŒ0๏ผšDisable๏ผŒ1๏ผšEnable',
    `version`       int(11)     NOT NULL DEFAULT '0' COMMENT 'Version',
    `create_time`   timestamp   NULL     DEFAULT CURRENT_TIMESTAMP COMMENT 'Create Time',
    `update_time`   timestamp   NULL     DEFAULT NULL COMMENT 'Update Time',
    PRIMARY KEY (`id`)
  COLLATE = utf8mb4_general_ci COMMENT ='FooBar';

-- ----------------------------
-- Records of foo_bar
-- ----------------------------
INSERT INTO foo_bar (id, name, foo, bar, remark, state, version, create_time, update_time) 
    VALUES (1, 'FooBar', 'foo', 'bar', 'remark...', 1, 0, '2019-11-01 14:05:14', null);
INSERT INTO foo_bar (id, name, foo, bar, remark, state, version, create_time, update_time) 
    VALUES (2, 'HelloWorld', 'hello', 'world', null, 1, 0, '2019-11-01 14:05:14', null);

2. Generator CRUD CODE

Code generation entry class, in the generator module

 * spring-boot-plus Code Generator Main Class
 * @author geekidea
 * @date 2019-10-22
public class SpringBootPlusGenerator {

     * Generator Code
     * @param args
    public static void main(String[] args) {
        GeneratorProperties generatorProperties = new GeneratorProperties();

        // Common configuration

        // generator Table

        // DataSourceConfig

        // GeneratorConfig

        // GlobalConfig

        // StrategyConfig

        // Code Generator 
        CodeGenerator codeGenerator = new CodeGenerator();

Code Generator Templates

Use Velocity template to generate code, you can customize and modify the code to generate template

โ””โ”€โ”€ templates
    โ”œโ”€โ”€      controller generator template
    โ”œโ”€โ”€          entity generator template
    โ”œโ”€โ”€          mapper  generator template
    โ”œโ”€โ”€ mapper.xml.vm           mapper xml  generator template
    โ”œโ”€โ”€       page param  generator template
    โ”œโ”€โ”€         query vo  generator template
    โ”œโ”€โ”€         service  generator template
    โ””โ”€โ”€     service implement  generator template

Generated code structure

โ””โ”€โ”€ src
    โ””โ”€โ”€ main
        โ”œโ”€โ”€ java
        โ”‚ย ย  โ””โ”€โ”€ com
        โ”‚ย ย      โ””โ”€โ”€ example
        โ”‚ย ย          โ””โ”€โ”€ foobar
        โ”‚ย ย              โ”œโ”€โ”€ controller
        โ”‚ย ย              โ”‚ย ย  โ””โ”€โ”€
        โ”‚ย ย              โ”œโ”€โ”€ entity
        โ”‚ย ย              โ”‚ย ย  โ””โ”€โ”€
        โ”‚ย ย              โ”œโ”€โ”€ mapper
        โ”‚ย ย              โ”‚ย ย  โ””โ”€โ”€
        โ”‚ย ย              โ”œโ”€โ”€ param
        โ”‚ย ย              โ”‚ย ย  โ””โ”€โ”€
        โ”‚ย ย              โ”œโ”€โ”€ service
        โ”‚ย ย              โ”‚ย ย  โ”œโ”€โ”€
        โ”‚ย ย              โ”‚ย ย  โ””โ”€โ”€ impl
        โ”‚ย ย              โ”‚ย ย      โ””โ”€โ”€
        โ”‚ย ย              โ””โ”€โ”€ vo
        โ”‚ย ย                  โ””โ”€โ”€
        โ””โ”€โ”€ resources
            โ””โ”€โ”€ mapper
                โ””โ”€โ”€ foobar
                    โ””โ”€โ”€ FooBarMapper.xml

3. Bootstrap SpringBootAdmin Server

SpringBootAdmin Server Main Class๏ผŒadmin module http://localhost:8000

 * Spring Boot Admin Bootstrap Main Class
 * @author geekidea
 * @date 2020/3/20
public class SpringBootPlusAdminApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext context =, args);
        ConfigurableEnvironment environment = context.getEnvironment();
        String serverPort = environment.getProperty("server.port");"SpringBootAdmin: http://localhost:" + serverPort);


4. Startup Project

Project Main Class๏ผŒbootstrap module http://localhost:8888

 * spring-boot-plus Project Main Class
 * @author geekidea
 * @since 2018-11-08
@MapperScan({"io.geekidea.springbootplus.**.mapper", "com.example.**.mapper"})
@SpringBootApplication(scanBasePackages = {"io.geekidea.springbootplus", "com.example"})
public class SpringBootPlusApplication {

    public static void main(String[] args) {
        // Run spring-boot-plus
        ConfigurableApplicationContext context =, args);
        // Print Project Info
        // Print Project Tip


4. Access Swagger Docs swagger-ui.png swagger-ui-1.png

5. Access Knife4j Docs knife4j.png knife4j-1.png

CentOS Quick Installation Environment / Build / Deploy / Launch Spring-boot-plus Project

1. Download the installation script

Install jdk, git, maven, redis, mysql

wget -O

2. Run the installation script


3. Modify MySQL password

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Springbootplus666!';
mysql -uroot -pSpringbootplus666!

4. Import MySQL scripts

create database if not exists spring_boot_plus character set utf8mb4;
use spring_boot_plus;
source /root/mysql_spring_boot_plus.sql;
show tables;

5. Download deployment script

wget -O

6. Execution script


7. View project run log

tail -f -n 1000 /spring-boot-plus-server-2.0/logs/spring-boot-plus.log

spring-boot-plus Views

spring-boot-plus IDEA Sources Views


Spring Boot Admin Instances

spring-boot-admin instances

Spring Boot Admin Statistics

spring-boot-admin statistics

Spring Boot Admin Log

spring-boot-admin log

spring-boot-plus-vue Front-end Project


VUE WebSite



System User List

System User List

System Role List

System Role List

System Menu List

System Menu List

spring-boot-plus Videos ๐ŸŽฅ


QQ 625301326 Wechat geekideaio toutiao GeekIdea
spring-boot-plus QQ Group Wechat Official Account toutiao


Ask the author to drink coffee and let the code fly for a while!



spring-boot-plus is under the Apache 2.0 license. See the LICENSE file for details.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Java (709,723)ย 
Spring Boot (12,280)ย 
Redis (6,745)ย 
Generator (3,812)ย 
Jwt (3,552)ย 
Swagger (2,619)ย 
Architecture (1,815)ย 
Mybatis (1,516)ย 
Centos (758)ย 
Swagger Ui (619)ย 
Shiro (415)ย 
Mybatis Plus (285)ย 
Related Projects
Advertising ๐Ÿ“ฆย 9
All Projects
Application Programming Interfaces ๐Ÿ“ฆย 120
Applications ๐Ÿ“ฆย 181
Artificial Intelligence ๐Ÿ“ฆย 72
Blockchain ๐Ÿ“ฆย 70
Build Tools ๐Ÿ“ฆย 111
Cloud Computing ๐Ÿ“ฆย 79
Code Quality ๐Ÿ“ฆย 28
Collaboration ๐Ÿ“ฆย 30
Command Line Interface ๐Ÿ“ฆย 48
Community ๐Ÿ“ฆย 81
Companies ๐Ÿ“ฆย 60
Compilers ๐Ÿ“ฆย 60
Computer Science ๐Ÿ“ฆย 74
Configuration Management ๐Ÿ“ฆย 39
Content Management ๐Ÿ“ฆย 167
Control Flow ๐Ÿ“ฆย 197
Data Formats ๐Ÿ“ฆย 77
Data Processing ๐Ÿ“ฆย 266
Data Storage ๐Ÿ“ฆย 132
Economics ๐Ÿ“ฆย 60
Frameworks ๐Ÿ“ฆย 198
Games ๐Ÿ“ฆย 122
Graphics ๐Ÿ“ฆย 103
Hardware ๐Ÿ“ฆย 148
Integrated Development Environments ๐Ÿ“ฆย 47
Learning Resources ๐Ÿ“ฆย 147
Legal ๐Ÿ“ฆย 28
Libraries ๐Ÿ“ฆย 119
Lists Of Projects ๐Ÿ“ฆย 21
Machine Learning ๐Ÿ“ฆย 336
Mapping ๐Ÿ“ฆย 61
Marketing ๐Ÿ“ฆย 15
Mathematics ๐Ÿ“ฆย 55
Media ๐Ÿ“ฆย 228
Messaging ๐Ÿ“ฆย 97
Networking ๐Ÿ“ฆย 304
Operating Systems ๐Ÿ“ฆย 84
Operations ๐Ÿ“ฆย 120
Package Managers ๐Ÿ“ฆย 52
Programming Languages ๐Ÿ“ฆย 229
Runtime Environments ๐Ÿ“ฆย 96
Science ๐Ÿ“ฆย 42
Security ๐Ÿ“ฆย 375
Social Media ๐Ÿ“ฆย 26
Software Architecture ๐Ÿ“ฆย 70
Software Development ๐Ÿ“ฆย 68
Software Performance ๐Ÿ“ฆย 57
Software Quality ๐Ÿ“ฆย 127
Text Editors ๐Ÿ“ฆย 45
Text Processing ๐Ÿ“ฆย 131
User Interface ๐Ÿ“ฆย 310
User Interface Components ๐Ÿ“ฆย 465
Version Control ๐Ÿ“ฆย 29
Virtualization ๐Ÿ“ฆย 68
Web Browsers ๐Ÿ“ฆย 38
Web Servers ๐Ÿ“ฆย 25
Web User Interface ๐Ÿ“ฆย 194