1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/geekidea-spring-boot-plus

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Что такое spring-boot-plus?

Spring-boot-plus — это простой в использовании, высокоскоростной, высокоэффективный, многофункциональный фреймворк с открытым исходным кодом для быстрой разработки на основе Spring Boot.

Цель:

Любой человек может самостоятельно разрабатывать проекты быстро и эффективно!

Лицензия MIT:

Любое физическое или юридическое лицо может проводить вторичную разработку на основе этого фреймворка для коммерческого использования без разрешения!

Vue-проект (VUE3+TS):

Особенности:

— интегрированный набор компонентов для разработки Spring Boot, общая конфигурация, AOP-логирование и т. д.; — Maven-проект; — интегрированная быстрая работа с DAO Mybatis-Plus; — быстрое создание фонового кода: сущность/параметр/VO/контроллер/сервис/картограф/XML; — интегрированные Swagger/Knife4j, автоматическое создание документов API; — интегрированное кэширование Redis; — интеграция HikariCP, пул соединений, надёжный, высокопроизводительный пул подключений JDBC.

Структура каталогов исходного кода:

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

Среда проекта:

Имя Версия Примечание
JDK 1.8+ JDK1.8 и выше
MySQL 5.7+ 5.7 и выше
Redis 3.2+

Технологический стек:

Компонент Версия Примечание
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 Схема связей проекта

Схема связей проекта

CHANGELOG

Быстрый старт

Клонирование spring-boot-plus

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

Сборка Maven

По умолчанию используется среда разработки, файл конфигурации: application-dev.yml

mvn clean package -Pdev

Создание CRUD за 5 минут

1. Создание таблицы

-- ----------------------------
-- 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. Генератор CRUD-кода

Класс входа для генерации кода, в модуле генератора

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);
    }
}

Сгенерированная структура кода

├── 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    

Шаблоны генератора кода

Используйте шаблон Velocity для генерации кода. Вы можете настроить и изменить код для создания шаблона.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/geekidea-spring-boot-plus.git
git@api.gitlife.ru:oschina-mirror/geekidea-spring-boot-plus.git
oschina-mirror
geekidea-spring-boot-plus
geekidea-spring-boot-plus
master