Everyone can develop projects independently, quickly and efficiently!
spring-boot-plus is a background rapid development framework that integrates spring boot common development components.
Everyone can develop projects independently, quickly and efficiently!
- 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, 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
Middleware | Version | Remark |
---|---|---|
JDK | 1.8+ | JDK1.8 and above |
MySQL | 5.7+ | 5.7 and above |
Redis | 3.2+ |
Component | Version | Remark |
---|---|---|
Spring Boot | 2.1.8.RELEASE | Latest release stable version |
Spring Framework | 5.1.9.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 |
jwt | 0.9.1 | JSON WEB TOKEN |
hutool-all | 4.6.4 | Common toolset |
lombok | 1.18.8 | Automatically plugs |
git clone https://github.com/geekidea/spring-boot-plus.git
cd spring-boot-plus
Local environment is used by default, The configuration file:application-local.yml
mvn clean package -Plocal
-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
drop table if exists `sys_user`;
create table sys_user(
id bigint not null comment 'id',
name varchar(20) null comment 'name',
account varchar(20) not null comment 'account',
pwd varchar(20) not null comment 'password',
remark varchar(200) null comment 'remark',
create_time timestamp default CURRENT_TIMESTAMP null comment 'create time',
update_time timestamp null comment 'update time',
primary key (`id`),
constraint sys_user_account_uindex
unique (account)
) comment 'SystemUser';
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO sys_user (id, name, account, pwd, remark, create_time, update_time) VALUES (1, 'Administrator', 'admin', '123456', 'Administrator Account', '2019-08-26 00:52:01', null);
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
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);
}
}
http://127.0.0.1:8888/swagger-ui.html
Install
jdk
,git
,maven
,redis
,mysql
wget -O download-install-all.sh https://raw.githubusercontent.com/geekidea/spring-boot-plus/dev/docs/bin/install/download-install-all.sh
sh download-install-all.sh
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Springbootplus666!';
exit
mysql -uroot -pSpringbootplus666!
create database if not exists spring_boot_plus character set utf8mb4;
use spring_boot_plus;
source /root/mysql_spring_boot_plus.sql;
show tables;
exit
wget -O deploy.sh https://raw.githubusercontent.com/geekidea/spring-boot-plus/dev/deploy/deploy.sh
sh deploy.sh
SpringBootAdmin Management page
spring-boot-plus Swagger Document page
http://47.105.159.10:8888/docs
tail -f -n 1000 /root/spring-boot-plus-server/logs/spring-boot-plus.log
- Gmail: springbootplus@aliyun.com
- QQ Group
spring-boot-plus is under the Apache 2.0 license. See the LICENSE file for details.