Что такое 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 | Схема связей проекта |
git clone https://github.com/geekidea/spring-boot-plus.git
cd spring-boot-plus
По умолчанию используется среда разработки, файл конфигурации: application-dev.yml
mvn clean package -Pdev
-- ----------------------------
-- 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);
Класс входа для генерации кода, в модуле генератора
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 )