Everyone can develop projects independently, quickly and efficiently!
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
Purpose
Everyone can develop projects independently, quickly and efficiently!
Repository
GITHUB | GITEE
Website
springboot.plus
Features
- Integrated spring boot common development component set, common configuration, AOP log, etc
- Integrated mybatis-plus fast dao operation
- Quickly generate background code:entity/param/vo/controller/service/mapper/xml
- Integrated swagger2, automatic generation of api documents
- Integrated JWT,Shiro/Spring security permission control
- Integrated Redis、spring cache、ehcache,etc
- Integrated Rabbit/Rocket/Kafka MQ
- Integration alibaba druid connection pool, JDBC performance and slow query detection
- 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
Architecture
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.1.9.RELEASE | Latest release stable version |
| Spring Framework | 5.1.10.RELEASE | Latest release stable version |
| Mybatis | 3.5.2 | DAO Framework |
| Mybatis Plus | 3.2.0 | mybatis Enhanced framework |
| Alibaba Druid | 1.1.20 | Data source |
| Fastjson | 1.2.60 | JSON processing toolset |
| swagger2 | 2.6.1 | Api document generation tool |
| commons-lang3 | 3.9 | Apache language toolkit |
| commons-io | 2.6 | Apache IO Toolkit |
| commons-codec | 1.13 | Apache Toolkit such as encryption and decryption |
| commons-collections4 | 4.4 | Apache collections toolkit |
| reflections | 0.9.11 | Reflection Toolkit |
| hibernate-validator | 6.0.17.Final | Validator toolkit |
| Shiro | 1.4.1 | Permission control |
| JWT | 3.8.3 | JSON WEB TOKEN |
| hutool-all | 4.6.10 | Common toolset |
| lombok | 1.18.8 | Automatically plugs |
| mapstruct | 1.3.0.Final | Object property replication tool |
CHANGELOG
CHANGELOG.md
Java Docs
Java Api Docs
Getting started
Clone spring-boot-plus
git clone https://github.com/geekidea/spring-boot-plus.git
cd spring-boot-plusMaven Build
Local environment is used by default, The configuration file:application-local.yml
mvn clean package -Plocal5 Minutes Finish CRUD
1. Create Table
-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
drop table if exists `sys_user`;
create table sys_user
(
id bigint not null comment ''
primary key,
username varchar(20) not null comment '',
nickname varchar(20) null comment '',
password varchar(64) not null comment '',
salt varchar(32) null comment '',
remark varchar(200) null comment '',
status int default 1 not null comment '',
create_time timestamp default CURRENT_TIMESTAMP null comment '',
update_time timestamp null comment '',
constraint sys_user_username_uindex
unique (username)
)
comment 'SysUser';
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO spring_boot_plus.sys_user (id, username, nickname, password, salt, remark, status, create_time, update_time)
VALUES (1, 'admin', 'Administrators', '751ade2f90ceb660cb2460f12cc6fe08268e628e4607bdb88a00605b3d66973c', 'e4cc3292e3ebc483998adb2c0e4e640e', 'Administrator Account', 1, '2019-08-26 00:52:01', null);
INSERT INTO spring_boot_plus.sys_user (id, username, nickname, password, salt, remark, status, create_time, update_time)
VALUES (2, 'test', 'Testers', '751ade2f90ceb660cb2460f12cc6fe08268e628e4607bdb88a00605b3d66973c', '99952b31c18156169a26bec80fd211f6', 'Tester Account', 1, '2019-10-05 14:04:27', null);
2. Generator CRUD CODE
Modify database info
Modify module name / author / table name / primary key id
/src/test/java/io/geekidea/springbootplus/test/CodeGenerator.java
/**
* spring-boot-plus Code Generator
* @author geekidea
* @date 2018-11-08
*/
public class CodeGenerator {
private static final String USER_NAME = "root";
private static final String PASSWORD = "root";
private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
private static final String DRIVER_URL = "jdbc:mysql://localhost:3306/spring_boot_plus?useUnicode=true&characterEncoding=UTF-8&useSSL=false";
// CODE...
// ############################ Config start ############################
// Module name
private static final String MODULE_NAME = "system";
// Author
private static final String AUTHOR = "geekidea";
// Table name
private static final String TABLE_NAME = "sys_user";
// Primary key id
private static final String PK_ID_COLUMN_NAME = "id";
// Generator strategy. true:All / false:SIMPLE
private static final boolean GENERATOR_STRATEGY = true;
// Pagination list query Whether to sort. true:sort/false:non
private static final boolean PAGE_LIST_ORDER = false;
// ############################ Config end ############################
public static void main(String[] args) {
// Run...
}
}Generated code structure
/src/main/java/io/geekidea/springbootplus/system
└── system
├── entity
│ └── SysUser.java
├── mapper
│ └── SysUserMapper.java
├── service
│ ├── SysUserService.java
│ └── impl
│ └── SysUserServiceImpl.java
└── web
├── controller
│ └── SysUserController.java
├── param
│ └── SysUserQueryParam.java
└── vo
└── SysUserQueryVo.java
Mapper XML
/src/main/resources/mapper/system/SysUserMapper.xml
3. Startup Project
Project Main Class
/src/main/java/io/geekidea/springbootplus/SpringBootPlusApplication.java
/**
* spring-boot-plus Project Main Class
* @author geekidea
* @since 2018-11-08
*/
@EnableAsync
@EnableScheduling
@EnableTransactionManagement
@EnableConfigurationProperties
@EnableAdminServer
@MapperScan({"io.geekidea.springbootplus.**.mapper"})
@SpringBootApplication
public class SpringBootPlusApplication {
public static void main(String[] args) {
// Run spring-boot-plus
ConfigurableApplicationContext context = SpringApplication.run(SpringBootPlusApplication.class, args);
// Print Project Info
PrintApplicationInfo.print(context);
}
}4. Access project swagger docs
http://127.0.0.1:8888/swagger-ui.html
5. SysUser CRUD Swagger
Quick Start
Documentation
CentOS Quick Installation Environment / Build / Deploy / Launch Spring-boot-plus Project
1. Download the installation script
Install
jdk,git,maven,redis,mysql
wget -O download-install-all.sh https://raw.githubusercontent.com/geekidea/spring-boot-plus/master/docs/bin/install/download-install-all.sh2. Run the installation script
sh download-install-all.sh3. Modify MySQL password
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Springbootplus666!';
exit
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;
exit5. Download deployment script deploy.sh
wget -O deploy.sh https://raw.githubusercontent.com/geekidea/spring-boot-plus/master/deploy/deploy.sh6. Execution script
sh deploy.sh7.Access project
SpringBootAdmin Management page
spring-boot-plus Swagger Document page
http://47.105.159.10:8888/docs
8. View project run log
tail -f -n 1000 /root/spring-boot-plus-server/logs/spring-boot-plus.logspring-boot-plus Videos 🎥
- 5-Minutes-Finish-CRUD
- CentOS Quick Installation JDK/Git/Maven/Redis/MySQL
- CentOS Quick Build / Deploy / Launch Spring-boot-plus Project
License
spring-boot-plus is under the Apache 2.0 license. See the LICENSE file for details.

