• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

spring-boot-plus

开源软件地址:

https://gitee.com/geekidea/spring-boot-plus

开源软件介绍:

spring-boot-plus logo

Everyone can develop projects independently, quickly and efficiently!

spring-boot-plus version spring boot version code style

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

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

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

目标

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

GITHUB | GITEE

springboot.plus

主要特性

  • 集成spring boot 常用开发组件集、公共配置、AOP日志等
  • Maven多模块架构
  • 集成mybatis plus快速dao操作
  • 快速生成后台代码: entity/param/vo/controller/service/mapper/xml
  • 集成Swagger/Knife4j,可自动生成api文档
  • 集成jwt、shiro权限控制
  • 集成Redis缓存
  • 集成HikariCP连接池,JDBC性能和慢查询检测
  • 集成spring boot admin,实时检测项目运行情况
  • 使用assembly maven插件进行不同环境打包部署,包含启动、重启命令,配置文件提取到外部config目录

V2.0视频介绍

spring-boot-plus videos

项目结构

    └── spring-boot-plus    ├── admin               SpringBootAdmin Server模块    ├── bootstrap           spring-boot-plus 启动模块    ├── config              配置模块    ├── distribution        打包模块    ├── docs                文档目录    ├── example             示例模块,自己的业务可新建多个模块处理    ├── framework           框架核心模块    ├── generator           代码生成模块    ├── scheduled           任务调度模块    └── system              系统模块

项目环境

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

技术选型

技术版本备注
Spring Boot2.2.0.RELEASE最新发布稳定版
Spring Framework5.2.0.RELEASE最新发布稳定版
Spring Boot Admin2.2.2管理和监控SpringBoot应用程序
Mybatis3.5.3持久层框架
Mybatis Plus3.3.1mybatis增强框架
HikariCP3.4.2数据源
Fastjson1.2.67JSON处理工具集
Swagger22.9.2api文档生成工具
Knife4j2.0.2api文档生成工具
commons-lang33.9常用工具包
commons-io2.6IO工具包
commons-codec1.14加密解密等工具包
commons-collections44.4集合工具包
reflections0.9.9反射工具包
hibernate-validator6.0.18.Final后台参数校验注解
Shiro1.5.1权限控制
JWT3.10.1JSON WEB TOKEN
hutool-all5.2.4常用工具集
lombok1.18.12注解生成Java Bean等工具
mapstruct1.3.1.Final对象属性复制工具

项目链路图

项目调用链路图

CHANGELOG

快速开始

克隆 spring-boot-plus

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

Maven 构建

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

mvn clean package -Pdev

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.使用代码生成器生成增删改查代码

代码生成入口类,在generator模块中

spring-boot-plus/generator/src/main/java/io/geekidea/springbootplus/generator/SpringBootPlusGenerator.java
/** * spring-boot-plus代码生成器入口类 * * @author geekidea * @date 2019-10-22 **/@Componentpublic class SpringBootPlusGenerator {    /**     * 生成代码     * @param args     */    public static void main(String[] args) {        GeneratorProperties generatorProperties = new GeneratorProperties();        // 设置基本信息        generatorProperties                .setMavenModuleName("example")                .setParentPackage("com.example")                .setModuleName("foobar")                .setAuthor("geekidea")                .setFileOverride(true);        // 设置表信息        generatorProperties.addTable("foo_bar","id");        // 数据源配置        generatorProperties.getDataSourceConfig()                .setDbType(DbType.MYSQL)                .setUsername("root")                .setPassword("root")                .setDriverName("com.mysql.jdbc.Driver")                .setUrl("jdbc:mysql://localhost:3306/spring_boot_plus?useUnicode=true&characterEncoding=UTF-8&useSSL=false");        // 生成配置        generatorProperties.getGeneratorConfig()                .setGeneratorStrategy(GeneratorStrategy.SINGLE)                .setGeneratorEntity(true)                .setGeneratorController(true)                .setGeneratorService(true)                .setGeneratorServiceImpl(true)                .setGeneratorMapper(true)                .setGeneratorMapperXml(true)                .setGeneratorPageParam(true)                .setGeneratorQueryVo(true)                .setRequiresPermissions(true)                .setPageListOrder(true)                .setParamValidation(true)                .setSwaggerTags(true)                .setOperationLog(true);        // 全局配置        generatorProperties.getMybatisPlusGeneratorConfig().getGlobalConfig()                .setOpen(true)                .setSwagger2(true)                .setIdType(IdType.AUTO)                .setDateType(DateType.ONLY_DATE);        // 策略配置        generatorProperties.getMybatisPlusGeneratorConfig().getStrategyConfig()                .setNaming(NamingStrategy.underline_to_camel)                .setColumnNaming(NamingStrategy.underline_to_camel)                .setEntityLombokModel(true)                .setRestControllerStyle(true)                .setControllerMappingHyphenStyle(true)                .setVersionFieldName(GeneratorConstant.VERSION)                .setLogicDeleteFieldName(GeneratorConstant.DELETED);        // 生成代码        CodeGenerator codeGenerator = new CodeGenerator();        codeGenerator.generator(generatorProperties);    }}

Code Generator Templates

使用Velocity模版生成代码,可自定义修改代码生成模版

spring-boot-plus/generator/src/main/resources
└── templates    ├── controller.java.vm      控制器代码生成模版    ├── entity.java.vm          实体类代码生成模版    ├── mapper.java.vm          mapper代码生成模版    ├── mapper.xml.vm           mapper xml 代码生成模版    ├── pageParam.java.vm       分页参数代码生成模版    ├── queryVo.java.vm         查询结果代码生成模版    ├── service.java.vm         服务接口代码生成模版    └── serviceImpl.java.vm     服务实现代码生成模版

生成的代码结构

└── src    └── main        ├── java        │   └── com        │       └── example        │           └── foobar        │               ├── controller        │               │   └── FooBarController.java        │               ├── entity        │               │   └── FooBar.java        │               ├── mapper        │               │   └── FooBarMapper.java        │               ├── param        │               │   └── FooBarPageParam.java        │               ├── service        │               │   ├── FooBarService.java        │               │   └── impl        │               │       └── FooBarServiceImpl.java        │               └── vo        │                   └── FooBarQueryVo.java        └── resources            └── mapper                └── foobar                    └── FooBarMapper.xml

3. 启动SpringBootAdmin

SpringBootAdmin Server启动类,在admin模块中 http://localhost:8000

spring-boot-plus/admin/src/main/java/io/geekidea/springbootplus/admin/SpringBootPlusAdminApplication
/** * Spring Boot Admin Bootstrap Main Class * * @author geekidea * @date 2020/3/20 **/@Slf4j@Configuration@EnableAutoConfiguration@EnableAdminServer@SpringBootApplicationpublic class SpringBootPlusAdminApplication {    public static void main(String[] args) {        ConfigurableApplicationContext context = SpringApplication.run(SpringBootPlusAdminApplication.class, args);        ConfigurableEnvironment environment = context.getEnvironment();        String serverPort = environment.getProperty("server.port");        log.info("SpringBootAdmin: http://localhost:" + serverPort);    }}

4. 启动项目

项目入口类,在bootstrap模块中 http://localhost:8888

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

5. 访问项目Swagger文档

http://47.105.159.10:8888/api/swagger-ui.htmlswagger-ui.pngswagger-ui-1.png

6. 访问Knife4j文档

http://47.105.159.10:8888/api/doc.htmlknife4j.pngknife4j-1.png

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. 查看项目运行日志

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-plus-idea

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 前端项目

GITHUB-REPO

VUE演示地址

VUE主页

VUE主页

系统用户列表

系统用户列表

系统角色列表

系统角色模块

系统菜单列表

系统菜单列表

spring-boot-plus 视频 :movie_camera:

联系

QQ 625301326微信公众号 geekideaio今日头条 GeekIdea
spring-boot-plus QQ GroupWechat Official Accounttoutiao

赞赏

请作者喝咖啡,让代码飞一会儿!

geekidea-wechat-donate

License

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap