克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

flower

项目介绍

本系列文章使用SpringBoot搭建一个通用的项目架构。 内容包括领域开发,主流技术,最佳实践,涉及开发,部署,监控。

主要技术

Java17+SpringBoot3.0+SpringNative+MyBatis+Redis+Docker

适用范围

  • 小项目百万级别
  • 小团队十人团队

开发环境

Windows10+IDEA+Docker+WSL

分层介绍

Interface接口层-负责处理网络协议相关的逻辑

** 主要功能 **
1. 网络协议的转换,获取数据并转换为相应的Bean,一般有框架处理
2. 统一鉴权,Session管理,获取当前用户,并作鉴权和校验
3. 异常处理,避免异常直接暴露给调用端,接口层做统一异常捕获,转化为调用端可以理解的数据格式

规范1: 
Interface层的Http接口,返回值为ActionResult,捕获所有异常

Application应用层-负责业务流程

** 主要功能 **
1. 业务编排,不负责业务逻辑
2. 领域模型与对外输出DTO进行转换,包括Query, Input, Event
3. 使用合适的仓储获取数据和持久化数据

规范1:建议接入参数只有一个对象(例外情况:根据单一ID查询和分页的情况)
规范2:针对不同的语义,要避免对象的复用

使用说明

SpringBoot入门系列

基础篇
基础篇-Java相关的有些事
基础篇-SpringBoot那些事
基础篇-Spring必须知道的
基础篇-工欲善其事

实战篇
实战篇-项目架构,原则和分层
实战篇-基础设施,基类和配置
实战篇-接口实现,配置与部署
实战篇-仓储技术选型
实战篇-工具类实战

番外篇
番外篇-没用的知识
番外篇-Docker入门
番外篇-Prometheus入门

MIT License Copyright (c) 2022 Jimmy.Zhang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

one flower one world by springboot 3 展开 收起
Java 等 2 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化