<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Echo 項目結(jié)構(gòu)分析

          共 3001字,需瀏覽 7分鐘

           ·

          2021-02-20 15:16

          Echo 后端采用 MVC 模式,使用現(xiàn)在流行的 SpringBoot 框架。SpringBoot 是基于 SpringMVC 衍生出來的框架。宗旨是較少配置,讓開發(fā)者快速上手做項目。

          entity

          • User:數(shù)據(jù)庫模型,對應表 user
          • Comment:數(shù)據(jù)庫模型,對應表 comment
          • DiscussPost:數(shù)據(jù)庫模型,對應表 discuss_post
          • Message:數(shù)據(jù)庫模型,對應表 message
          • Page:分頁模型
          • Event:事件模型(Spring Kafka)
          • LoginTicket:登錄憑證

          dao

          • CommentMapper:控制 Comment 的相關(guān)數(shù)據(jù)庫操作
          • DiscussPostMapper:控制 DiscussPost 的相關(guān)數(shù)據(jù)庫操作
          • MessageMapper:控制 Message 的相關(guān)數(shù)據(jù)庫操作
          • UserMapper:控制 User 的相關(guān)數(shù)據(jù)庫操作
          • DiscussPostRepository:控制 Elasticsearch 服務(wù)器上 DiscussPost 的相關(guān)操作

          當然,上面這些都只是操作接口,真正操作數(shù)據(jù)庫的文件放在?resources/mapper?目錄下:

          service

          • CommentService:Comment 相關(guān)的業(yè)務(wù)邏輯
          • UserService:User 相關(guān)的業(yè)務(wù)邏輯
          • MessageService:Message 相關(guān)的業(yè)務(wù)邏輯
          • DiscussPostService:DiscussPost 相關(guān)的業(yè)務(wù)邏輯
          • FollowService:關(guān)注相關(guān)的業(yè)務(wù)邏輯
          • LikeService:點贊相關(guān)的業(yè)務(wù)邏輯
          • ElasticsearchService:Elasticsearch 搜索相關(guān)的業(yè)務(wù)邏輯
          • DataService:數(shù)據(jù)統(tǒng)計相關(guān)的業(yè)務(wù)邏輯

          controller

          • UserController:控制 User 相關(guān)的業(yè)務(wù)流程
          • CommentController:控制 Comment 相關(guān)的業(yè)務(wù)流程,比如添加評論等
          • DiscussPostController:控制 DiscussPost相關(guān)的業(yè)務(wù)流程,比如添加帖子、進入帖子詳情頁、置頂帖子、加精帖子等
          • MesaageController:控制 Message 相關(guān)的業(yè)務(wù)流程,比如進行私信列表、發(fā)送私信、發(fā)送系統(tǒng)通知等
          • LikeController:控制點贊相關(guān)的業(yè)務(wù)流程,比如點贊、取消點贊等
          • FollowController:控制關(guān)注相關(guān)的業(yè)務(wù)流程,比如關(guān)注、取消關(guān)注、進入某個用戶的關(guān)注列表等
          • SearchController:控制搜索相關(guān)的業(yè)務(wù)流程,比如進入搜索界面等
          • DataController:控制數(shù)據(jù)統(tǒng)計相關(guān)的業(yè)務(wù)流程,比如進入統(tǒng)計界面、統(tǒng)計網(wǎng)站 DAU、統(tǒng)計網(wǎng)站 uv 等
          • IndexController:控制首頁相關(guān)的業(yè)務(wù)流程,比如進入首頁、進入 500/404 錯誤界面等
          • LoginController:控制登錄注冊相關(guān)的業(yè)務(wù)流程,比如登錄、登出、注冊、激活用戶等
          • advice:
            • ExceptionAdvice:處理服務(wù)端異常(500)
          • interceptor:攔截器
            • MessageInterceptor:獲取未讀私信/系統(tǒng)通知的數(shù)量
            • LoginTicketInterceptor:檢查憑證狀態(tài),若憑證有效則在本次請求中持有該用戶信息
            • DataInterceptor:統(tǒng)計網(wǎng)站 UV 和 DAU

          event

          這個包主要是提供給 Spring Kafka 使用的:

          • EventProducer:事件的生產(chǎn)者(將事件發(fā)布到指定的主題)
          • EventConsumer:事件的消費者

          quartz

          這個包主要是提供給 Spring Quartz 使用的:

          • PostScoreRefreshJob:每隔一段時間刷新帖子分數(shù)(熱度)

          config

          各種配置類:

          • KaptchaConfig:Kaptcha(驗證碼)相關(guān)配置
          • QuartzConfig:Spring Quartz 相關(guān)配置
          • RedisConfig:Redis 相關(guān)配置
          • SecurityConfig:Spring Security 相關(guān)配置
          • WebMvcConfig:攔截器相關(guān)配置

          aspect

          • ServiceLogAspect:使用 AOP實現(xiàn)統(tǒng)一日志記錄

          util

          各種工具類:

          • CommunityUtil:通用工具類。比如生成隨機字符串、md5 加密、將服務(wù)端返回的消息封裝成 JSON 格式的字符串等

          • CookieUtil:從 request 中獲取指定 name 的 cookie

          • HostHolder:使用 ThreadLocal 持有用戶信息(多線程),用于代替 session 對象,實現(xiàn) session any where

          • MailClient:發(fā)送激活郵件(用于注冊)

          • RedisKeyUtil:生成 Redis 的 key

          • SensitiveFilter:敏感詞過濾器。對應的敏感詞文本文件就是?sensitive-words.txt

          靜態(tài)資源

          resources/static:靜態(tài)資源存放目錄

          前臺頁面模板

          resources/templates:前臺頁面模板,包括郵件模板。

          • error:錯誤界面模板
          • mail:郵件模板
            • activation.html:激活郵件模板
            • forget.html:找回密碼郵件模板(暫未使用)
          • forget.html:忘記密碼頁面模板(暫未使用)
          • operate-result.html:操作結(jié)果頁模板
          • login.html:登錄頁模板
          • register.html:注冊頁模板
          • index.html:首頁(帖子列表頁模板)
          • discuss-detail.html:帖子詳情頁模板
          • profile.html:個人主頁模板
          • my-post.html:我的帖子模板
          • my-reply.html:我的回復頁模板
          • followee-detail.html:關(guān)注列表模板
          • follower-detail.html:粉絲模板
          • letter.html:私信列表模板
          • letter-detail.html:私信詳情頁模板
          • notice.html:系統(tǒng)通知頁模板
          • notice-detail.html:系統(tǒng)通知詳情頁模板
          • search.html:搜索結(jié)果頁模板
          • setting.html:賬號設(shè)置頁模板
          • data.html:數(shù)據(jù)統(tǒng)計模板




          ?? 點擊下方卡片關(guān)注公眾號「飛天小牛肉」(專注于分享計算機基礎(chǔ)、Java 基礎(chǔ)和面試指南的相關(guān)原創(chuàng)技術(shù)好文,幫助讀者快速掌握高頻重點知識,有的放矢),與小牛肉一起成長、共同進步

          ? ??

          ???并向大家強烈推薦我維護的?Gitee 倉庫?「CS-Wiki」(Gitee 推薦項目,目前已 0.9k star。面向全棧,致力于構(gòu)建完善的知識體系:數(shù)據(jù)結(jié)構(gòu)、計算機網(wǎng)絡(luò)、操作系統(tǒng)、算法、數(shù)據(jù)庫、設(shè)計模式、Java 技術(shù)棧、機器學習、深度學習、強化學習等),相比公眾號,該倉庫擁有更健全的知識體系,歡迎前來 star,倉庫地址 https://gitee.com/veal98/CS-Wiki。也可直接下方掃碼訪問


          原創(chuàng)不易,讀完有收獲不妨點贊|分享|在看支持

          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美群p | 肏逼视频免费看 | 婷婷五月免费视频 | 成人激情性爱 | 成人免费网站www污污污在线看 |