ランキングに戻る

geekidea/spring-boot-plus

Javaspringboot.plus

:fire: Spring-Boot-Plus is an easy-to-use, high-speed, high-efficient,feature-rich, open source spring boot scaffolding. :rocket:

springbootmybatismybatis-plusredisswaggergeneratorspring-boot-pluscentosspring-bootknife4jswagger-ui
スター成長
スター
2.5k
フォーク
712
週間成長
Issue
3
1k2k
2023年1月2024年3月2025年5月2026年7月
成果物Mavengit clone https://github.com/geekidea/spring-boot-plus.git
README

spring-boot-plus logo

Everyone can develop projects independently, quickly and efficiently!

spring-boot-plus version spring boot 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.

Purpose

Everyone can develop projects independently, quickly and efficiently!

Open source License MIT-License

Any individual or company can conduct secondary development based on this framework for commercial use without authorization!

Vue Project VUE3+TS

GITHUB | GITEE

中文文档

springboot.plus

Features

  • Integrated spring boot common development component set, common configuration, AOP log, etc
  • Maven 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 Redis Cache
  • Integration HikariCP connection pool, A solid, high-performance, JDBC connection pool at last.

Source code directory structure

spring-boot-plus
├── docs
│ ├── bin
│ │ └── install
│ ├── config
│ ├── db
│ └── img
├── logs
└── src
    ├── main
    │ ├── java
    │ │ └── io
    │ │     └── geekidea
    │ │         └── boot
    │ │             ├── auth
    │ │             ├── common
    │ │             ├── config
    │ │             ├── demo
    │ │             ├── framework
    │ │             ├── system
    │ │             ├── user
    │ │             └── util
    │ │             └── SpringBootPlusApplication.java
    │ └── resources
    │     ├── mapper
    │     └── static
    │     ├── application-dev.yml
    │     ├── application-prod.yml
    │     ├── application-test.yml
    │     ├── application.yml
    │     ├── banner.txt
    │     ├── ip2region.xdb
    │     ├── logback-spring.xml
    └── test
        ├── java
        │ └── io
        │     └── geekidea
        │         └── boot
        │             ├── generator
        │             └── system
        └── resources
            └── templates

Project Environment

Name 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.7.18
Mybatis 3.5.13 DAO Framework
Mybatis Plus 3.5.4.1 mybatis Enhanced framework
Fastjson 2.0.42 JSON processing toolset
Swagger V3 Api document generation tool
Knife4j 4.3.0 Api document generation tool
commons-lang3 3.14.0 Apache language toolkit
commons-io 2.15.0 Apache IO Toolkit
commons-codec 1.16.0 Apache Toolkit such as encryption and decryption
commons-collections4 4.4.4 Apache collections toolkit
hibernate-validator 6.2.5.Final Validator toolkit
hutool-all 5.8.23 Common toolset
lombok 1.18.30 Automatically plugs

项目调用链路图

CHANGELOG

Quick Start

Clone spring-boot-plus

git clone https://github.com/geekidea/spring-boot-plus.git
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
-- ----------------------------
DROP TABLE IF EXISTS `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`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci COMMENT ='FooBar';

create table foo_bar
(
    id          bigint                               not null comment 'ID'
        primary key,
    name        varchar(20)                          not null comment 'Name',
    foo         varchar(100)                         null comment 'Foo',
    bar         varchar(100)                         null comment 'Bar',
    remark      varchar(200)                         null comment 'Remark',
    status      tinyint(1) default 1                 not null comment 'Status,0:Disable,1:Enable',
    create_time timestamp  default CURRENT_TIMESTAMP null comment 'Create Time',
    update_time timestamp                            null comment 'Update Time'
)
    comment 'FooBar';

-- ----------------------------
-- Records of foo_bar
-- ----------------------------
INSERT INTO foo_bar (id, name, foo, bar, remark, status, create_time, update_time) VALUES (1, 'FooBar', 'Foo', 'Bar', null, 1, '2023-07-01 21:01:10', null);

2. Generator CRUD CODE

Code generation entry class, in the generator module

src/test/java/io/geekidea/boot/generator/Generator.java
/**
 * spring-boot-plus Code Generator Main Class
 *
 * @author geekidea
 * @date 2022/3/16
 **/
public class Generator {

    public static void main(String[] args) throws Exception {
        GeneratorConfig config = new GeneratorConfig();
        // 项目信息配置
        config.setParentPackage("io.geekidea.boot" )
                .setModuleName("foobar" )
                .setAuthor("geekidea" );
        // 表名称和需要去掉的表前缀
        config.setTableNames("foo_bar" )
                .setTablePrefix("");
        // 是否覆盖已有文件
        config.setFileOverride(true);
        // 是否只更新实体类
        config.setOnlyOverrideEntity(false);
        GenerateHandler handler = new GenerateHandler();
        handler.generator(config);
    }
}

Generated code structure

├── controller
│ └── FooBarController.java
├── dto
│ ├── FooBarDto.java
│ └── FooBarUpdateDto.java
├── entity
│ └── FooBar.java
├── mapper
│ └── FooBarMapper.java
├── query
│ └── FooBarQuery.java
├── service
│ ├── FooBarService.java
│ └── impl
│     └── FooBarServiceImp.java
└── vo
    ├── FooBarVo.java
    └── FooBarVo.java

resources
└── mapper
    └── foobar
        └── FooBarMapper.xml    

Code Generator Templates

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

src/test/resources
└── templates
    ├── addDto.java.vm          Add DTO generator template
    ├── controller.java.vm      Controller generator template
    ├── entity.java.vm          Entity generator template
    ├── infoVo.java.vm          Detail VO generator template
    ├── mapper.java.vm          Mapper  generator template
    ├── mapper.xml.vm           Mapper xml  generator template
    ├── query.java.vm           Page Query  generator template
    ├── service.java.vm         Service  generator template
    ├── serviceImpl.java.vm     Service implement  generator template
    ├── updateDto.java.vm       Update DTO generator template
    └── vo.java.vm              List VO generator template

3. Startup Project

Project Main Class: SpringBootPlusApplication http://localhost:8888

src/main/java/io/geekidea/boot/SpringBootPlusApplication.java
/**
 * spring-boot-plus Project Main Class
 *
 * @author geekidea
 * @date 2022-3-16
 */
@EnableAsync
@SpringBootApplication
public class SpringBootPlusApplication {

    private static final String BACKSLASH = "/";

    public static void main(String[] args) throws Exception {
        ConfigurableApplicationContext context = SpringApplication.run(SpringBootPlusApplication.class, args);
        // 打印项目信息
        printlnProjectInfo(context);
        System.out.println("  _____ _______       _____ _______    _____ _    _  _____ _____ ______  _____ _____ \n" +
                " / ____|__   __|/\\   |  __ \\__   __|  / ____| |  | |/ ____/ ____|  ____|/ ____/ ____|\n" +
                "| (___    | |  /  \\  | |__) | | |    | (___ | |  | | |   | |    | |__  | (___| (___  \n" +
                " \\___ \\   | | / /\\ \\ |  _  /  | |     \\___ \\| |  | | |   | |    |  __|  \\___ \\\\___ \\ \n" +
                " ____) |  | |/ ____ \\| | \\ \\  | |     ____) | |__| | |___| |____| |____ ____) |___) |\n" +
                "|_____/   |_/_/    \\_\\_|  \\_\\ |_|    |_____/ \\____/ \\_____\\_____|______|_____/_____/ \n");
    }
}

4. Access Swagger Docs

http://localhost:8888/swagger-ui/index.html swagger-ui.png

5. Access Knife4j Docs

http://localhost:8888/doc.html knife4j.png

spring-boot-plus-vue Vue3 Project

GITEE-REPO

System User List

System User List

System Role List

System Role List

System Menu List

System Menu List

System Department

System Department List

System Log List

System Log List System Log Detail

User Profile

User Profile

spring-boot-plus Videos :movie_camera:

QQ群 625301326 微信公众号 geekideaio
spring-boot-plus QQ Group Wechat Official Account
微信技术交流群 业务咨询商务合作
微信群 业务咨询商务合作

License

spring-boot-plus is under the MIT-License. See the LICENSE file for details.

関連リポジトリ
macrozheng/mall

mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于Spring Boot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

JavaMavenApache License 2.0spring-bootspring-security
macrozheng.com/admin/
84.3k29.8k
jeecgboot/JeecgBoot

【低代码 V2.0】AI低代码平台,AI Skills 一句话生成整个系统;一键生成前后端代码甚至整个模块。 AI Skills 一句话画流程、设计表单、生成报表、大屏。内置 AI应用平台涵盖:AI聊天、知识库、流程编排、MCP插件等,兼容主流大模型。引领AI低代码「Skills 生成 → 在线配置 → 代码生成 → 手工合并->AI修改」开发模式,解决 Java 项目 90% 重复工作,提高效率又不失灵活。

JavaMavenApache License 2.0antdactiviti
jeecg.com
47.1k16.1k
YunaiV/ruoyi-vue-pro

🔥 官方推荐 🔥 RuoYi-Vue 全新 Pro 版本,优化重构所有功能。基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序,支持 RBAC 动态权限、数据权限、SaaS 多租户、Flowable 工作流、三方登录、支付、短信、商城、CRM、ERP、MES、IM、AI 大模型、IoT 物联网等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!

JavaMavenMIT Licensespringbootvue
doc.iocoder.cn
38.3k8.3k
ityouknow/spring-boot-examples

about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。

JavaMavenspring-bootspring-data-jpa
ityouknow.com/spring-boot.html
30.5k12.2k
wuyouzhuguli/SpringAll

循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Batch、Spring Cloud、Spring Cloud Alibaba、Spring Security & Spring Security OAuth2,博客Spring系列源码:https://mrbird.cc

JavaMavenMIT Licensespring-bootspringboot
29k8.1k
YunaiV/yudao-cloud

ruoyi-vue-pro 全新 Cloud 版本,优化重构所有功能。基于 Spring Cloud Alibaba + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城、CRM、ERP、MES、IM、AI 大模型、IoT 物联网等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!

JavaMavenMIT Licensedubbospringcloud
cloud.iocoder.cn
19.3k4.8k
itwanger/toBeBetterJavaer

一份通俗易懂、风趣幽默的Java学习指南,内容涵盖Java基础、Java并发编程、Java虚拟机、Java企业级开发、Java面试等核心知识点。学Java,就认准二哥的Java进阶之路😄

JavaMavenjavajvm
javabetter.cn
17.3k2.4k
JeffLi1993/springboot-learning-example

spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。

JavaMavenApache License 2.0springbootredis
16.6k7.1k
aalansehaiyang/technology-talk

【大厂面试专栏】一份Java程序员需要的技术指南,这里有面试题、系统架构、职场锦囊、主流中间件等,让你成为更牛的自己!

javaspring
offercome.cn
14.7k3.8k
macrozheng/mall-learning

mall学习教程,架构、业务、技术要点全方位解析。mall项目(60k+star)是一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot、MyBatis、Elasticsearch、RabbitMQ、Redis、MongoDB、MySQL等技术,采用Docker容器化部署。

JavaMavenspringbootmybatis
macrozheng.com
13.4k8.3k
macrozheng/mall-swarm

mall-swarm是一套微服务商城系统,采用了 Spring Cloud Alibaba、Spring Boot 3.5、Sa-Token、MyBatis、Elasticsearch、Docker、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。

JavaMavenApache License 2.0springcloudspringboot
cloud.macrozheng.com
13k5.5k
fuzhengwei/CodeGuide

:books: 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。如果本仓库能为您提供帮助,请给予支持(关注、点赞、分享)!

ShellApache License 2.0javajavafx
bugstack.cn
11.9k4.2k