MatrixBoot 是一个分布式的App服务端快速开发框架,包含了基本的权限认证、日志处理、接口防刷、系统监控等基本功能。 此框架围绕分布式服务系统构建,能够快速扩容,迎合微服务化,提供App服务端常用必备功能。
- Spring Boot3
- Gradle8
- Java17
- Logback
- Lombok
- 认证方式: Basic、 Cookie、Header、内外网
- 统一错误处理、统一Json格式模板
- 接口请求日志统一处理
- 接口频次拦截
- 支持多数据源、主从分离
- 多Profile支持,Gradle、Spring、应用程序Profile整合
- 完善的系统监控
- 热部署
- 自动生成接口文档
本项目使用 Spring Boot dependencies 和自定义依赖管理机制来统一管理依赖版本:
- 根据 Spring Boot dependencies 自动管理 Spring Boot 相关依赖的版本
- 通过
gradle/dependencies.gradle.kts
文件集中管理其他依赖的版本 - 子项目中引用依赖时无需指定版本号,例如:
implementation("org.springframework.boot:spring-boot-starter-web") testImplementation("org.junit.jupiter:junit-jupiter-api")
区分有三种环境dev、test、prod,不同环境会加载不同的配置文件
- Gradle环境配置: gradle.properties里设置profile
- Spring环境变量: application.yaml或application.properties里配置spring.profiles.active
- 应用内获取环境变量: spring注入: @Autowired Environment env 或手动解析spring配置文件(不依赖Spring)
运行 gradle clean jar assemble 会自动打可执行jar包,运行:
- java -jar server-admin/build/libs/admin-${version}.jar
- ./server-admin/build/libs/admin-${version}.jar 如需配置JVM等参数请修复deploy/config/deploy-${version}.conf并拷贝到可执行jar包相同目录,并修改${version}
- 修改build.gradle里uploadArchives的私有仓库地址、用户名、密码
- 执行 ./gradlew uploadArchives 命令
- 执行: gradle run
- 执行运行: Application.java
- 执行: ./gradlew run,此方式不用安装gradle