完整项目结构
┌─────────────────────────────────────────────────────────────────────┐
│                           客户端层 (Client)                          │
├─────────────────────────────────────────────────────────────────────┤
│  浏览器 (Chrome/Firefox)  │  移动端 APP  │  桌面应用  │  第三方系统   │
└────────────────────────┬────────────────────────────────────────────┘
                         │ HTTP/HTTPS 请求
                         ↓
┌─────────────────────────────────────────────────────────────────────┐
│                        网络层 (Network Layer)                        │
├─────────────────────────────────────────────────────────────────────┤
│  DNS 解析  →  CDN (可选)  →  防火墙  →  负载均衡器 (LVS/F5)         │
└────────────────────────┬────────────────────────────────────────────┘
                         │
                         ↓
┌─────────────────────────────────────────────────────────────────────┐
│                      Web 服务器层 (Nginx)                            │
├─────────────────────────────────────────────────────────────────────┤
│  ┌──────────────────────────────────────────────────────┐           │
│  │  Nginx (端口 80/443)                                  │           │
│  ├──────────────────────────────────────────────────────┤           │
│  │  1. SSL/TLS 终止 (HTTPS → HTTP)                      │           │
│  │  2. 静态资源处理 (HTML/CSS/JS/图片)                  │           │
│  │  3. 请求路由分发                                      │           │
│  │  4. 负载均衡 (多个后端服务器)                        │           │
│  │  5. 限流、防护 (rate limit)                          │           │
│  │  6. 缓存 (proxy_cache)                               │           │
│  │  7. Gzip 压缩                                         │           │
│  │  8. 请求日志记录                                      │           │
│  └──────────────────────────────────────────────────────┘           │
└────────────────────────┬────────────────────────────────────────────┘
                         │ 动态请求转发
                         ↓
┌─────────────────────────────────────────────────────────────────────┐
│                   应用服务器层 (Application Server)                  │
├─────────────────────────────────────────────────────────────────────┤
│  ┌────────────────────────────────────────────────────────────┐     │
│  │  Tomcat / Jetty / Undertow (端口 8080/8081/...)           │     │
│  ├────────────────────────────────────────────────────────────┤     │
│  │  Servlet 容器                                              │     │
│  │  ├─ 连接器 (Connector) - 接收 HTTP 请求                   │     │
│  │  ├─ 容器 (Container) - 管理 Servlet 生命周期              │     │
│  │  └─ 线程池 - 处理并发请求                                 │     │
│  └────────────────────────────────────────────────────────────┘     │
└────────────────────────┬────────────────────────────────────────────┘
                         │ 请求进入 Spring Boot 应用
                         ↓
┌─────────────────────────────────────────────────────────────────────┐
│                    Spring Boot 应用层 (Application)                  │
├─────────────────────────────────────────────────────────────────────┤
│  ┌────────────────────────────────────────────────────────────┐     │
│  │  1. Filter 过滤器链 (Servlet Filter)                      │     │
│  │     ├─ CharacterEncodingFilter (字符编码)                 │     │
│  │     ├─ CorsFilter (跨域处理)                              │     │
│  │     ├─ 自定义 Filter (日志、认证等)                       │     │
│  │     └─ ...                                                 │     │
│  └────────────────────────────────────────────────────────────┘     │
│                         ↓                                            │
│  ┌────────────────────────────────────────────────────────────┐     │
│  │  2. DispatcherServlet (前端控制器)                        │     │
│  │     - Spring MVC 的核心,分发请求                         │     │
│  └────────────────────────────────────────────────────────────┘     │
│                         ↓                                            │
│  ┌────────────────────────────────────────────────────────────┐     │
│  │  3. Interceptor 拦截器链 (Spring Interceptor)             │     │
│  │     ├─ preHandle() - 请求前处理                           │     │
│  │     │   ├─ 登录验证拦截器                                 │     │
│  │     │   ├─ 权限校验拦截器                                 │     │
│  │     │   ├─ 日志拦截器                                     │     │
│  │     │   └─ 性能监控拦截器                                 │     │
│  │     ├─ postHandle() - 请求后处理                          │     │
│  │     └─ afterCompletion() - 完成后处理                     │     │
│  └────────────────────────────────────────────────────────────┘     │
│                         ↓                                            │
│  ┌────────────────────────────────────────────────────────────┐     │
│  │  4. HandlerMapping (处理器映射)                           │     │
│  │     - 根据 URL 找到对应的 Controller 方法                 │     │
│  └────────────────────────────────────────────────────────────┘     │
│                         ↓                                            │
│  ┌────────────────────────────────────────────────────────────┐     │
│  │  5. HandlerAdapter (处理器适配器)                         │     │
│  │     - 调用 Controller 方法                                │     │
│  └────────────────────────────────────────────────────────────┘     │
│                         ↓                                            │
│  ┌────────────────────────────────────────────────────────────┐     │
│  │  6. Controller 层 (控制器)                                │     │
│  │     @RestController / @Controller                         │     │
│  │     ├─ 接收请求参数 (@RequestParam, @PathVariable)        │     │
│  │     ├─ 参数校验 (@Valid, @Validated)                      │     │
│  │     └─ 调用 Service 层                                    │     │
│  └────────────────────────────────────────────────────────────┘     │
│                         ↓                                            │
│  ┌────────────────────────────────────────────────────────────┐     │
│  │  7. AOP 切面 (Aspect Oriented Programming)                │     │
│  │     ├─ @Before - 前置通知                                 │     │
│  │     ├─ @After - 后置通知                                  │     │
│  │     ├─ @Around - 环绕通知                                 │     │
│  │     ├─ @AfterReturning - 返回后通知                       │     │
│  │     └─ @AfterThrowing - 异常通知                          │     │
│  │     应用场景:                                              │     │
│  │     ├─ 事务管理 (@Transactional)                          │     │
│  │     ├─ 日志记录                                           │     │
│  │     ├─ 性能监控                                           │     │
│  │     ├─ 权限控制                                           │     │
│  │     └─ 缓存处理                                           │     │
│  └────────────────────────────────────────────────────────────┘     │
│                         ↓                                            │
│  ┌────────────────────────────────────────────────────────────┐     │
│  │  8. Service 层 (业务逻辑层)                               │     │
│  │     @Service                                              │     │
│  │     ├─ 业务逻辑处理                                       │     │
│  │     ├─ 事务管理                                           │     │
│  │     └─ 调用 DAO/Mapper 层                                 │     │
│  └────────────────────────────────────────────────────────────┘     │
│                         ↓                                            │
│  ┌────────────────────────────────────────────────────────────┐     │
│  │  9. DAO/Mapper 层 (数据访问层)                            │     │
│  │     @Repository / @Mapper                                 │     │
│  │     ├─ MyBatis Mapper 接口                                │     │
│  │     ├─ JPA Repository                                     │     │
│  │     └─ JDBC Template                                      │     │
│  └────────────────────────────────────────────────────────────┘     │
└────────────────────────┬────────────────────────────────────────────┘
                         │ SQL 查询
                         ↓
┌─────────────────────────────────────────────────────────────────────┐
│                      中间件层 (Middleware Layer)                     │
├─────────────────────────────────────────────────────────────────────┤
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │  数据库连接池 │  │  缓存中间件   │  │  消息队列     │              │
│  │  (Druid/     │  │  (Redis/     │  │  (RabbitMQ/  │              │
│  │   HikariCP)  │  │   Memcached) │  │   Kafka)     │              │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘              │
│         │                  │                  │                      │
│         ↓                  ↓                  ↓                      │
└─────────────────────────────────────────────────────────────────────┘
         │
         ↓
┌─────────────────────────────────────────────────────────────────────┐
│                        数据层 (Data Layer)                           │
├─────────────────────────────────────────────────────────────────────┤
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │  MySQL       │  │  Redis       │  │  MongoDB     │              │
│  │  (主从复制)   │  │  (缓存)      │  │  (文档存储)   │              │
│  └──────────────┘  └──────────────┘  └──────────────┘              │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │  Elasticsearch│  │  MinIO/OSS   │  │  ClickHouse  │              │
│  │  (搜索引擎)   │  │  (对象存储)   │  │  (数据分析)   │              │
│  └──────────────┘  └──────────────┘  └──────────────┘              │
└─────────────────────────────────────────────────────────────────────┘
com.company.project
│
├── controller (表现层/控制器层)
│   ├── UserController.java
│   ├── ProductController.java
│   └── OrderController.java
│
├── service (业务逻辑层)
│   ├── UserService.java (接口)
│   ├── ProductService.java
│   └── impl (实现类)
│       ├── UserServiceImpl.java
│       └── ProductServiceImpl.java
│
├── dao / mapper (数据访问层)
│   ├── UserDao.java / UserMapper.java
│   ├── ProductDao.java
│   └── OrderDao.java
│
├── entity / domain / model (实体层)
│   ├── po (Persistent Object - 持久化对象)
│   │   ├── User.java
│   │   └── Product.java
│   │
│   ├── dto (Data Transfer Object - 数据传输对象)
│   │   ├── UserDTO.java
│   │   └── ProductDTO.java
│   │
│   └── vo (View Object - 视图对象)
│       ├── UserVO.java
│       └── ProductVO.java
│
├── config (配置层)
│   ├── DataSourceConfig.java
│   ├── RedisConfig.java
│   └── SecurityConfig.java
│
├── common (公共层)
│   ├── constant (常量)
│   │   └── CommonConstant.java
│   │
│   ├── enums (枚举)
│   │   └── StatusEnum.java
│   │
│   ├── exception (自定义异常)
│   │   ├── BusinessException.java
│   │   └── GlobalExceptionHandler.java
│   │
│   └── result (统一返回结果)
│       └── Result.java
│
├── util (工具类层)
│   ├── DateUtil.java
│   ├── StringUtil.java
│   └── JsonUtil.java
│
├── aspect (切面层 - AOP)
│   ├── LogAspect.java
│   └── PermissionAspect.java
│
├── filter (过滤器层)
│   └── AuthFilter.java
│
├── interceptor (拦截器层)
│   └── LoginInterceptor.java
│
└── listener (监听器层)
    └── ApplicationListener.java
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇