千家信息网

什么是spring-boot-plus

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,本篇内容主要讲解"什么是spring-boot-plus",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"什么是spring-boot-plus"吧!spri
千家信息网最后更新 2024年09月21日什么是spring-boot-plus

本篇内容主要讲解"什么是spring-boot-plus",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"什么是spring-boot-plus"吧!

spring-boot-plus是一套集成spring boot常用开发组件的后台快速开发框架

> Spring-Boot-Plus是易于使用,快速,高效,功能丰富,开源的spring boot 脚手架.

> 前后端分离,专注于后端服务

目标

> 每个人都可以独立、快速、高效地开发项目!

版本库

GITHUB | GITEE

官网

springboot.plus

主要特性

  1. 集成spring boot 常用开发组件集、公共配置、AOP日志等

  2. 集成mybatis plus快速dao操作

  3. 快速生成后台代码: entity/param/vo/controller/service/mapper/xml

  4. 集成swagger2,可自动生成api文档

  5. 集成jwt、shiro/spring security权限控制

  6. 集成redis、spring cache、ehcache缓存

  7. 集成rabbit/rocket/kafka mq消息队列

  8. 集成druid连接池,JDBC性能和慢查询检测

  9. 集成spring boot admin,实时检测项目运行情况

  10. 使用assembly maven插件进行不同环境打包部署,包含启动、重启命令,配置文件提取到外部config目录

项目架构

项目环境

中间件版本备注
JDK1.8+JDK1.8及以上
MySQL5.7+5.7及以上
Redis3.2+

技术选型

技术版本备注
Spring Boot2.2.0.RELEASE最新发布稳定版
Spring Framework5.2.0.RELEASE最新发布稳定版
Mybatis3.5.2持久层框架
Mybatis Plus3.2.0mybatis增强框架
Alibaba Druid1.1.20数据源
Fastjson1.2.62JSON处理工具集
swagger22.6.1api文档生成工具
commons-lang33.9常用工具包
commons-io2.6IO工具包
commons-codec1.13加密解密等工具包
commons-collections44.4集合工具包
reflections0.9.11反射工具包
hibernate-validator6.0.17.Final后台参数校验注解
Shiro1.4.1权限控制
JWT3.8.3JSON WEB TOKEN
hutool-all5.0.3常用工具集
lombok1.18.10注解生成Java Bean等工具
mapstruct1.3.1.Final对象属性复制工具

CHANGELOG

CHANGELOG.md

Java Docs

Java Api Docs

使用

克隆 spring-boot-plus

git clone https://github.com/geekidea/spring-boot-plus.gitcd spring-boot-plus

Maven 构建

> 默认使用local环境,对应配置文件:application-local.yml

mvn clean package -Plocal

5分钟完成增删改查

1. 创建数据库表

-- ------------------------------ Table structure for foo_bar-- ----------------------------DROP TABLE IF EXISTS `foo_bar`;CREATE TABLE `foo_bar`(    `id`            bigint(20)  NOT NULL COMMENT '主键',    `name`          varchar(20) NOT NULL COMMENT '名称',    `foo`           varchar(20)          DEFAULT NULL COMMENT 'Foo',    `bar`           varchar(20) NOT NULL COMMENT 'Bar',    `remark`        varchar(200)         DEFAULT NULL COMMENT '备注',    `state`         int(11)     NOT NULL DEFAULT '1' COMMENT '状态,0:禁用,1:启用',    `version`       int(11)     NOT NULL DEFAULT '0' COMMENT '版本',    `create_time`   timestamp   NULL     DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',    `update_time`   timestamp   NULL     DEFAULT NULL COMMENT '修改时间',    PRIMARY KEY (`id`)) ENGINE = InnoDB  DEFAULT CHARSET = utf8mb4  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.使用代码生成器生成增删改查代码

> 修改数据库信息

>修改组件名称/作者/数据库表名称/主键id

/src/test/java/io/geekidea/springbootplus/test/SpringBootPlusGenerator.java
/** * spring-boot-plus代码生成器入口类 * * @author geekidea * @date 2019-10-22 **/public class SpringBootPlusGenerator {    public static void main(String[] args) {        CodeGenerator codeGenerator = new CodeGenerator();        // 公共配置        // 数据库配置        codeGenerator                .setUserName("root")                .setPassword("root")                .setDriverName("com.mysql.jdbc.Driver")                .setDriverUrl("jdbc:mysql://localhost:3306/spring_boot_plus?useUnicode=true&characterEncoding=UTF-8&useSSL=false");        // 包信息        codeGenerator                .setProjectPackagePath("io/geekidea/springbootplus")                .setParentPackage("io.geekidea.springbootplus");        // 组件作者等配置        codeGenerator                .setModuleName("foobar")                .setAuthor("geekidea")                .setPkIdColumnName("id");        // 生成策略        codeGenerator                .setGeneratorStrategy(CodeGenerator.GeneratorStrategy.ALL)                .setPageListOrder(true)                .setParamValidation(true);        // 生成实体映射相关代码,可用于数据库字段更新        // 当数据库字段更新时,可自定义自动生成哪些那文件        codeGenerator                .setGeneratorEntity(true)                .setGeneratorQueryParam(true)                .setGeneratorQueryVo(true);        // 生成业务相关代码        codeGenerator                .setGeneratorController(true)                .setGeneratorService(true)                .setGeneratorServiceImpl(true)                .setGeneratorMapper(true)                .setGeneratorMapperXml(true);        // 是否生成Shiro RequiresPermissions注解        codeGenerator.setRequiresPermissions(false);        // 是否覆盖已有文件        codeGenerator.setFileOverride(true);        // 初始化公共变量        codeGenerator.init();        // 需要生成的表数组        // xxx,yyy,zzz为需要生成代码的表名称        String[] tables = {                "foo_bar"        };        // 循环生成        for (String table : tables) {            // 设置需要生成的表名称            codeGenerator.setTableName(table);            // 生成代码            codeGenerator.generator();        }    }}

> 生成的代码结构

/src/main/java/io/geekidea/springbootplus/foobar
└── foobar    ├── controller    │   └── FooBarController.java    ├── entity    │   └── FooBar.java    ├── mapper    │   └── FooBarMapper.java    ├── param    │   └── FooBarQueryParam.java    ├── service    │   ├── FooBarService.java    │   └── impl    │       └── FooBarServiceImpl.java    └── vo        └── FooBarQueryVo.java

> Mapper XML

/src/main/resources/mapper/foobar/FooBarMapper.xml

3. 启动项目

> 项目入口类

/src/main/java/io/geekidea/springbootplus/SpringBootPlusApplication.java
/** * spring-boot-plus 项目启动入口 * @author geekidea * @since 2018-11-08 */@EnableAsync@EnableScheduling@EnableTransactionManagement@EnableConfigurationProperties@EnableAdminServer@MapperScan({"io.geekidea.springbootplus.**.mapper"})@SpringBootApplicationpublic class SpringBootPlusApplication {    public static void main(String[] args) {        // 启动spring-boot-plus        ConfigurableApplicationContext context = SpringApplication.run(SpringBootPlusApplication.class, args);        // 打印项目信息        PrintApplicationInfo.print(context);    }}

4. 访问项目swagger文档

http://127.0.0.1:8888/swagger-ui.html

5. 系统用户 增删改查分页Swagger

快速开始

快速开始

详细文档

https://springboot.plus

CentOS快速安装环境/构建/部署/启动spring-boot-plus项目

1. 下载安装脚本

> 安装 jdk, git, maven, redis, mysql

wget -O download-install-all.sh https://springboot.plus/bin/download-install-all.sh

2. 运行安装脚本

sh download-install-all.sh

3. 修改MySQL密码

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

4. 导入MySQL脚本

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

5. 下载部署脚本 deploy.sh

wget -O deploy.sh https://springboot.plus/bin/deploy.sh

6. 执行脚本

sh deploy.sh

7.访问项目

> SpringBootAdmin管理页面

http://47.105.159.10:8888

> spring-boot-plus Swagger文档页面

http://47.105.159.10:8888/docs

8. 查看项目运行日志

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

spring-boot-plus Views

spring-boot-plus IDEA Sources Views

Spring Boot Admin Instances

Spring Boot Admin Statistics

Spring Boot Admin Log

spring-boot-plus Swagger文档

spring-boot-plus Java Api Docs

spring-boot-plus 视频 :movie_camera:

  • 5分钟完成增删改查

  • CentOS 快速安装 JDK/Git/Maven/Redis/MySQL

  • CentOS 快速部署/构建/打包/运行项目

License

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

到此,相信大家对"什么是spring-boot-plus"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0