# flower **Repository Path**: jazzily/flower ## Basic Information - **Project Name**: flower - **Description**: one flower one world by springboot 3 - **Primary Language**: Java - **License**: MIT - **Default Branch**: dev - **Homepage**: https://www.jianshu.com/p/623fce638310 - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-25 - **Last Updated**: 2023-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, Java ## README # flower ### 项目介绍 本系列文章使用SpringBoot搭建一个通用的项目架构。 内容包括领域开发,主流技术,最佳实践,涉及开发,部署,监控。 ### 主要技术 Java17+SpringBoot3.0+SpringNative+MyBatis+Redis+Docker ### 适用范围 - 小项目`百万级别` - 小团队`十人团队` ### 开发环境 Windows10+IDEA+Docker+WSL ### 分层介绍 Interface接口层-负责处理网络协议相关的逻辑 ``` ** 主要功能 ** 1. 网络协议的转换,获取数据并转换为相应的Bean,一般有框架处理 2. 统一鉴权,Session管理,获取当前用户,并作鉴权和校验 3. 异常处理,避免异常直接暴露给调用端,接口层做统一异常捕获,转化为调用端可以理解的数据格式 规范1: Interface层的Http接口,返回值为ActionResult,捕获所有异常 ``` Application应用层-负责业务流程 ```dtd ** 主要功能 ** 1. 业务编排,不负责业务逻辑 2. 领域模型与对外输出DTO进行转换,包括Query, Input, Event 3. 使用合适的仓储获取数据和持久化数据 规范1:建议接入参数只有一个对象(例外情况:根据单一ID查询和分页的情况) 规范2:针对不同的语义,要避免对象的复用 ``` ### 使用说明 [SpringBoot入门系列](https://www.jianshu.com/p/623fce638310 "源码说明") > 基础篇 > 基础篇-Java相关的有些事 > 基础篇-SpringBoot那些事 > 基础篇-Spring必须知道的 > 基础篇-工欲善其事 > 实战篇 > 实战篇-项目架构,原则和分层 > 实战篇-基础设施,基类和配置 > 实战篇-接口实现,配置与部署 > 实战篇-仓储技术选型 > 实战篇-工具类实战 > 番外篇 > 番外篇-没用的知识 > 番外篇-Docker入门 > 番外篇-Prometheus入门