🧧🎖️🥇🏅🏆
Mjga 是一款全新设计并打造的 Java Web 脚手架,带给你一种现代化的 Java 编程体验。
脚手架主页
视频教程(持续更新中)
- 通过
docker-compose.yml
管理应用程序的整个生命周期与配置。 - 通过
.env
文件自定义所有配置。 - 通过
docker-compose.yml
交付整个应用程序和配套的生态组件。
- 集成了常用的基础业务功能,如身份验证、权限管理和缓存抽象。
- Code Check&Format、CI/CD Plugin 、Docker Integration 全部开箱即用。
- 完善的、从设计出发的、隔离了运行环境的单元测试。
- 现代化:技术选型紧跟开源社区风向。
- 可配置化:支持在网页上选配组件。
- 考究的编码:每个变量和函数、每个模块和组件都考虑最佳实践。
- Not-all-in-one:现在和未来,MJGA 都将守好自己的边界。
技术栈 | 版本号 | |
---|---|---|
OpenJdk | 17/21 | LTS |
SpringBoot | 3.3.3 | 核心框架 |
SpringDoc | 2.6.0 | 生成 OpenAPI 文档 |
TestContainers | 1.20.1 | 为测试环境提供容器支持 |
Jooq | 3.19.11 | 生成类型安全的 SQL 查询 |
Gradle | 8.10.0 | 自动化构建工具 |
Pmd | 7.5.0 | 静态代码分析工具 |
Spotless | 6.25.0 | 代码格式化 |
... | ... | ... |
一、确认默认的环境变量配置。
# env will be applied to compose.yaml
less ${projectRoot}/.env
三、启动容器。
cd ${projectRoot}
docker-compose up -d
# confirm .env and make sure process can use it
nano/vim ${projectRoot}/.env
${projectRoot}/gradlew bootRun
# confirm .env and make sure process can use it
nano/vim ${projectRoot}/.env
# generate schema mapping codes
./gradlew generateJooq
# output ->
# projectRootDir/build/generated-src
# └── jooq
# └── tables # table mapping
# ├── daos # Data Access Layer
# ├── pojos # mapping dto
# └── records # jooq query record