亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Spring Boot家教管理系統(tǒng)全棧實(shí)戰(zhàn):數(shù)據(jù)庫設(shè)計(jì)、JWT鑒權(quán)與部署

Spring Boot家教管理系統(tǒng)全棧實(shí)戰(zhàn):數(shù)據(jù)庫設(shè)計(jì)、JWT鑒權(quán)與部署 春招那會(huì)兒我接過不少私活其中很大一類就是幫本科生把畢業(yè)設(shè)計(jì)從能跑打磨到能答辯。做得最多的就是Spring Boot管理系統(tǒng)什么圖書借閱、宿舍管理、校園考勤換一層業(yè)務(wù)殼子骨架都大同小異。但說實(shí)話基于Spring Boot家教管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)這類題目是我覺得最有業(yè)務(wù)味道、也最能體現(xiàn)設(shè)計(jì)能力的一個(gè)選題。它不像圖書管理那樣只對(duì)著CRUD猛懟里面既有用戶角色劃分、又有訂單和課時(shí)結(jié)算這種完整流程還牽扯到權(quán)限控制和時(shí)間沖突校驗(yàn)。今天我就以這個(gè)題目為例子把我做這類項(xiàng)目的完整思路、表結(jié)構(gòu)設(shè)計(jì)、后端落地、前端聯(lián)調(diào)、以及那些文檔里絕對(duì)不會(huì)寫的坑一次性講清楚。這篇文章適合誰適合正在做家教管理系統(tǒng)畢設(shè)的同學(xué)適合想系統(tǒng)地走一遍Spring Boot全棧項(xiàng)目的初學(xué)者也適合接單幫別人做畢設(shè)的開發(fā)同行。我會(huì)按照真實(shí)項(xiàng)目的推進(jìn)順序來寫從選題理由到數(shù)據(jù)庫設(shè)計(jì)從JWT鑒權(quán)到定時(shí)任務(wù)每一段都是實(shí)操后的總結(jié)不是那種只給截圖不給代碼的教程。1. 為什么我推薦用Spring Boot做家教管理系統(tǒng)選題與技術(shù)選型的真實(shí)考量1.1 家教業(yè)務(wù)的核心痛點(diǎn)信息不對(duì)稱與流程管理先聊一個(gè)最基礎(chǔ)的問題家教管理系統(tǒng)到底要解決什么如果你只是把它當(dāng)成一個(gè)增刪改查的練習(xí)那答辯的時(shí)候很容易被問住。家教行業(yè)本質(zhì)上是一個(gè)撮合平臺(tái)牽涉到的角色至少有四類家長、學(xué)生、家教老師、平臺(tái)管理員。傳統(tǒng)模式下大家靠微信群和電話溝通信息極度分散上課時(shí)間靠口頭約定課時(shí)費(fèi)算不清楚老師放鴿子了家長也沒處投訴。所以一個(gè)合格的家教管理系統(tǒng)至少要管住三件事誰來教、誰來學(xué)、怎么結(jié)算。老師和學(xué)生的匹配關(guān)系、課程的時(shí)間安排、課后的評(píng)價(jià)與課時(shí)確認(rèn)這三條線是最核心的。你去看很多高分畢設(shè)論文功能列表拉得很長但業(yè)務(wù)主線也就是這三條。想明白這一點(diǎn)你在做需求分析的時(shí)候就不會(huì)跑偏。這也是為什么我不建議把題目改成家教信息發(fā)布系統(tǒng)或者家教預(yù)約平臺(tái)——管理這兩個(gè)字意味著你要做的不僅僅是一個(gè)信息墻而是一套有狀態(tài)流轉(zhuǎn)、有角色權(quán)限、有業(yè)務(wù)流程的后臺(tái)系統(tǒng)這恰恰是Spring Boot最擅長的領(lǐng)域。1.2 技術(shù)選型對(duì)比Spring Boot、SSM、SSH該怎么選很多同學(xué)在開題的時(shí)候會(huì)糾結(jié)學(xué)校老師讓用SSMSpring SpringMVC MyBatis我看網(wǎng)上全是Spring Boot的教程到底選哪個(gè)我的建議很直接優(yōu)先Spring Boot除非導(dǎo)師硬性規(guī)定SSM。理由有三個(gè)第一Spring Boot的自動(dòng)配置機(jī)制幫你省掉了大量XML配置尤其是數(shù)據(jù)源、事務(wù)管理器、攔截器這些東西以前在SSM里要手寫一堆配置文件Spring Boot通過starter依賴和application.yml幾行配置全搞定了。這不是偷懶而是把精力騰出來放在業(yè)務(wù)邏輯上。第二招聘市場和開源社區(qū)早就倒向Spring Boot了你寫簡歷的時(shí)候精通Spring Boot比熟悉SSM有說服力得多。哪怕你只是做畢設(shè)用Spring Boot也是給自己攢經(jīng)驗(yàn)。第三Spring Boot 2.x和3.x選誰的問題。我的建議是選2.7.x。為什么因?yàn)?.x要求JDK 17起步而且很多第三方starter的兼容性還停留在2.x時(shí)代。你如果是為了穩(wěn)定把畢設(shè)做完JDK 8 Spring Boot 2.7.x MyBatis-Plus這套組合最穩(wěn)踩坑最少。當(dāng)然如果你的導(dǎo)師要求新那Spring Boot 3.2 JDK 17也可以但你要做好某些老教程代碼不能直接抄的心理準(zhǔn)備。2. 需求邊界畫清楚后面寫代碼才不擰巴2.1 四類角色的權(quán)限劃分管理系統(tǒng)的核心思想就是不同人看到不同的東西。家教系統(tǒng)里我通常設(shè)置四種角色權(quán)限從上到下是角色核心操作范圍特殊能力管理員全站用戶管理、科目管理、訂單總覽強(qiáng)制下架違規(guī)老師、處理投訴家長發(fā)布需求、搜索老師、發(fā)起預(yù)約對(duì)已完成的課時(shí)進(jìn)行確認(rèn)/評(píng)價(jià)家教老師發(fā)布可授課程、查看預(yù)約、提交課時(shí)上傳資質(zhì)證明、維護(hù)可授課時(shí)間學(xué)生查看課程、提交試聽申請綁定在家長賬號(hào)下這里有個(gè)細(xì)節(jié)很多人不注意學(xué)生和家長在業(yè)務(wù)上經(jīng)常是分離的。小學(xué)生上課是家長付費(fèi)、家長選老師但真正上課的是孩子。所以在數(shù)據(jù)模型里學(xué)生信息應(yīng)該獨(dú)立建表家長賬號(hào)通過student_id關(guān)聯(lián)到孩子。如果你偷懶只做一個(gè)用戶表角色字段后面做家長查看孩子的上課記錄這個(gè)功能時(shí)就會(huì)非常別扭。2.2 核心業(yè)務(wù)流從預(yù)約到授課到結(jié)算我建議你把業(yè)務(wù)流程先畫出來不是畫給答辯看是畫給自己寫代碼時(shí)理清頭緒。家教系統(tǒng)的核心鏈路通常長這樣家長搜索老師 → 按科目、區(qū)域、價(jià)格篩選家長發(fā)起預(yù)約 → 提交期望的上課時(shí)間老師確認(rèn)/拒絕 → 確認(rèn)后生成課程訂單實(shí)際上課完成 → 老師提交課時(shí)記錄家長確認(rèn)課時(shí) → 系統(tǒng)自動(dòng)累計(jì)已確認(rèn)課時(shí)結(jié)算階段 → 家長充值/支付老師申請?zhí)岈F(xiàn)這條鏈路最大的特點(diǎn)是存在狀態(tài)機(jī)。預(yù)約訂單的狀態(tài)至少要有待確認(rèn)、已確認(rèn)、已拒絕、進(jìn)行中、已完成、已取消。數(shù)據(jù)庫里最好用一個(gè)status字段專門存這個(gè)狀態(tài)而不是通過刪記錄來表示取消。別小看這個(gè)設(shè)計(jì)答辯老師最喜歡問的就是訂單取消后數(shù)據(jù)怎么處理你在表里保留狀態(tài)字段直接就能答上來。2.3 容易被忽視的非功能需求很多同學(xué)做畢設(shè)只盯著功能清單結(jié)果答辯的時(shí)候被一句你這個(gè)系統(tǒng)并發(fā)怎么樣問懵。我不主張你為了畢設(shè)去搞微服務(wù)、消息隊(duì)列這種重武器但有幾個(gè)非功能需求你要心里有數(shù)參數(shù)校驗(yàn)手機(jī)號(hào)格式、價(jià)格區(qū)間、時(shí)間格式后端的Validated注解不能省別把校驗(yàn)全丟給前端。日志記錄操作日志表要建至少記錄誰在什么時(shí)間做了什么操作關(guān)鍵業(yè)務(wù)操作如取消訂單必須留痕。異常處理全局異常處理器要寫不然前端動(dòng)不動(dòng)就拿到一個(gè)帶堆棧的500頁面體驗(yàn)太差。這些不是加分項(xiàng)而是基本素養(yǎng)。答辯老師可能不會(huì)逐行看代碼但如果你能主動(dòng)說一句我用攔截器做了JWT登錄校驗(yàn)用全局異常處理器統(tǒng)一了返回格式印象分直接上一個(gè)檔次。3. 數(shù)據(jù)庫設(shè)計(jì)家教系統(tǒng)的地基怎么打3.1 核心表結(jié)構(gòu)用戶、課程、訂單、課時(shí)記錄數(shù)據(jù)庫設(shè)計(jì)這一個(gè)章節(jié)在論文里能寫十幾頁但落到具體表結(jié)構(gòu)我建議你抓住五張主表和幾張輔助表user表用戶表CREATE TABLE user ( id bigint(20) NOT NULL AUTO_INCREMENT, username varchar(50) NOT NULL COMMENT 登錄賬號(hào), password varchar(255) NOT NULL COMMENT BCrypt加密后的密碼, nickname varchar(50) DEFAULT NULL, phone varchar(20) DEFAULT NULL, role tinyint(4) NOT NULL COMMENT 1-管理員 2-家長 3-老師 4-學(xué)生, status tinyint(4) DEFAULT 1 COMMENT 1-正常 0-禁用, create_time datetime DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY uk_username (username) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;teacher_profile表老師信息擴(kuò)展表因?yàn)槔蠋熡锌颇?、教學(xué)年限、認(rèn)證狀態(tài)、課時(shí)費(fèi)等維度單獨(dú)拆一張表更清爽用user_id關(guān)聯(lián)。course_order表預(yù)約/課程訂單表CREATE TABLE course_order ( id bigint(20) NOT NULL AUTO_INCREMENT, order_no varchar(32) NOT NULL COMMENT 訂單編號(hào), teacher_id bigint(20) NOT NULL, student_id bigint(20) NOT NULL, parent_id bigint(20) DEFAULT NULL, subject_id bigint(20) NOT NULL COMMENT 科目, start_time datetime NOT NULL COMMENT 上課開始時(shí)間, end_time datetime NOT NULL COMMENT 上課結(jié)束時(shí)間, duration int(11) DEFAULT 2 COMMENT 課時(shí)長(小時(shí)), unit_price decimal(10,2) NOT NULL COMMENT 每小時(shí)單價(jià), total_amount decimal(10,2) NOT NULL COMMENT 總價(jià), status tinyint(4) NOT NULL DEFAULT 0 COMMENT 0-待確認(rèn) 1-已確認(rèn) 2-已拒絕 3-進(jìn)行中 4-已完成 5-已取消, create_time datetime DEFAULT NULL, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;lesson_record表課時(shí)記錄表老師上完課之后提交家長確認(rèn)后這個(gè)狀態(tài)才變成已完成這個(gè)表是為結(jié)算服務(wù)的。這幾張表之間的外鍵關(guān)系我不建議真的在數(shù)據(jù)庫里加物理外鍵邏輯外鍵就夠了。理由是MyBatis-Plus做聯(lián)表查詢的時(shí)候物理外鍵反而容易造成麻煩而且如果老師被刪除、但訂單還要保留歷史記錄物理外鍵會(huì)擋住這種邏輯刪除的需求。3.2 字段設(shè)計(jì)上的幾個(gè)細(xì)節(jié)決策這里分享幾個(gè)容易踩坑的點(diǎn)第一價(jià)格永遠(yuǎn)用DECIMAL不要用FLOAT或DOUBLE。浮點(diǎn)數(shù)在計(jì)算機(jī)里是近似存儲(chǔ)0.1 0.2可能等于0.30000000000000004。金額字段一旦出現(xiàn)精度問題結(jié)算那一步就全亂了。DECIMAL(10,2)足夠應(yīng)付單價(jià)和總價(jià)。第二時(shí)間字段建議直接存datetime不要存字符串。有人圖方便把上課時(shí)間存成2025-06-01 14:00這種字符串后面如果要查某個(gè)時(shí)間段有哪些老師在教或者做時(shí)間沖突校驗(yàn)字符串比較會(huì)把你折騰瘋。MySQL的datetime字段配合BETWEEN語句比字符串好用一百倍。第三邏輯刪除比物理刪除安全。用戶誤操作刪除了一條課時(shí)記錄如果物理刪了數(shù)據(jù)就沒了。我一般在每張業(yè)務(wù)表加一個(gè)deleted字段0/1查詢的時(shí)候默認(rèn)過濾掉deleted1的記錄。MyBatis-Plus里用TableLogic注解就能自動(dòng)實(shí)現(xiàn)所以這個(gè)成本極低。第四訂單號(hào)要單獨(dú)生成不要用自增ID當(dāng)訂單號(hào)。自增ID暴露了業(yè)務(wù)量而且用戶看到訂單號(hào)是58這種會(huì)有種不正規(guī)感。你可以用時(shí)間戳隨機(jī)數(shù)生成訂單號(hào)比如yyyyMMddHHmmss 兩位隨機(jī)數(shù)或者直接用IdWorker.getIdStr()MyBatis-Plus自帶雪花算法實(shí)現(xiàn)一行代碼搞定。4. Spring Boot后端落地骨架搭建與關(guān)鍵接口實(shí)現(xiàn)4.1 目錄分層controller-service-mapper的職責(zé)邊界后端工程的包結(jié)構(gòu)我建議按模塊化來分而不是按層級(jí)分。什么概念按層級(jí)分是controller包下放所有Controllerservice包下放所有Service按模塊分是order包下同時(shí)有OrderController、OrderService、OrderMapper。模塊化的好處是改動(dòng)一個(gè)功能時(shí)你只需要在一個(gè)包結(jié)構(gòu)內(nèi)跳轉(zhuǎn)代碼閱讀成本低很多。推薦包結(jié)構(gòu)com.example.tutor ├── common // 通用類返回結(jié)果、異常處理、常量 │ ├── Result.java │ ├── GlobalExceptionHandler.java │ └── BusinessException.java ├── config // 配置類攔截器、跨域、密碼加密器 ├── security // JWT相關(guān)TokenUtil、JwtInterceptor ├── user // 用戶模塊 │ ├── UserController.java │ ├── UserService.java │ ├── UserMapper.java │ └── entity/User.java ├── order // 訂單模塊 └── lesson // 課時(shí)模塊這里一定要記住Controller只做參數(shù)接收和結(jié)果返回不寫業(yè)務(wù)邏輯。我見過太多人把數(shù)據(jù)庫更新語句直接寫在Controller里當(dāng)時(shí)寫起來爽后面調(diào)試的時(shí)候想死。Service層是核心業(yè)務(wù)邏輯全部放Service里Controller保持薄薄一層。4.2 登錄認(rèn)證JWT方案在單體應(yīng)用中的實(shí)現(xiàn)家教系統(tǒng)里沒有任何一個(gè)接口可以裸奔放行除了登錄和注冊。我的做法是用JWT做無狀態(tài)認(rèn)證全套流程是用戶登錄后端校驗(yàn)用戶名密碼密碼用BCryptPasswordEncoder校驗(yàn)。校驗(yàn)通過后生成Token把用戶ID、角色封裝進(jìn)Token的claims里。前端把Token存到localStorage每次請求在Authorization頭帶上。后端寫一個(gè)攔截器攔截非白名單路徑解析Token并放行。核心代碼大致是這樣Configuration public class WebConfig implements WebMvcConfigurer { Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(jwtInterceptor()) .addPathPatterns(/api/**) .excludePathPatterns(/api/auth/login, /api/auth/register, /api/subject/list); } }public class JwtInterceptor implements HandlerInterceptor { Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String token request.getHeader(Authorization); if (token null || !token.startsWith(Bearer )) { throw new BusinessException(未登錄或登錄已過期); } // 解析Token如果簽名不對(duì)或過期會(huì)拋異常 Claims claims JwtUtil.parseToken(token.replace(Bearer , )); request.setAttribute(userId, claims.get(userId)); request.setAttribute(userRole, claims.get(role)); return true; } }這里有個(gè)容易踩的坑攔截器拋異常全局異常處理器接得住嗎需要注意攔截器preHandle里拋出的異常如果你是注冊在WebMvcConfigurer里全局異常處理器是能接到的但如果你用HandlerInterceptor實(shí)現(xiàn)類里的邏輯拋了異常而你的異常處理器沒有配置對(duì)前端會(huì)收到亂碼。解決辦法是確保ControllerAdvice生效并且自定義異常類里別吞掉堆棧信息。Token如果要實(shí)現(xiàn)用戶被禁用后立刻失效光靠JWT是做不到的因?yàn)镴WT是無狀態(tài)的。我提供兩個(gè)方案一是把Token有效期設(shè)短一些比如2小時(shí)配合前端重新登錄機(jī)制二是在user表加一個(gè)token_version字段每次登錄1JWT里存這個(gè)版本號(hào)服務(wù)端校驗(yàn)時(shí)比對(duì)版本號(hào)。方案二在畢設(shè)里屬于亮點(diǎn)功能答辯可以主動(dòng)講。4.3 業(yè)務(wù)接口設(shè)計(jì)的幾個(gè)原則有幾個(gè)接口設(shè)計(jì)的原則我寫代碼的時(shí)候一直在用原則一接口返回結(jié)構(gòu)要統(tǒng)一。所有接口都返回ResultT里面包含code、message、data三個(gè)字段。成功時(shí)code200失敗時(shí)code500或者業(yè)務(wù)碼。前端拿到這個(gè)結(jié)構(gòu)統(tǒng)一處理不需要每個(gè)接口單獨(dú)寫異常邏輯。原則二列表查詢千萬別只做一個(gè)findAll。分頁查詢是標(biāo)配前端傳pageNum和pageSize后端用MyBatis-Plus的Page對(duì)象一行代碼就能搞定分頁public PageCourseOrder getOrderPage(Long userId, int pageNum, int pageSize) { LambdaQueryWrapperCourseOrder wrapper new LambdaQueryWrapper(); wrapper.eq(userId ! null, CourseOrder::getParentId, userId) .orderByDesc(CourseOrder::getCreateTime); return orderMapper.selectPage(new Page(pageNum, pageSize), wrapper); }LambdaQueryWrapper這個(gè)類強(qiáng)烈推薦使用它用lambda表達(dá)式引用列名編譯期就能查出字段名錯(cuò)誤比寫字符串parent_id安全得多。原則三修改和刪除要加是本人操作校驗(yàn)。比如老師想取消一個(gè)訂單你得先查出訂單里的teacher_id是不是當(dāng)前登錄用戶不是就拒絕。這個(gè)邏輯雖然簡單但很多初學(xué)者會(huì)忘這是數(shù)據(jù)安全的基本底線。5. 前端聯(lián)調(diào)與打包Vue Spring Boot的協(xié)同細(xì)節(jié)5.1 接口約定與聯(lián)調(diào)環(huán)境家教管理系統(tǒng)的前端我一般用Vue 3 Element Plus理由不用多說組件成熟、文檔豐富、招聘要求里也常出現(xiàn)。前后端分離開發(fā)時(shí)最大的問題是跨域。Spring Boot后端解決跨域很簡單寫一個(gè)配置類Configuration public class CorsConfig implements WebMvcConfigurer { Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping(/**) .allowedOrigins(http://localhost:8081) // 前端地址 .allowedMethods(GET, POST, PUT, DELETE) .allowCredentials(true) .maxAge(3600); } }如果你用了Shiro或者Spring Security跨域配置要放行預(yù)檢請求OPTIONS不然瀏覽器先發(fā)個(gè)預(yù)檢請求被攔截你后面真正的請求壓根發(fā)不出去。前后端接口字段的命名也要提前約定好。我習(xí)慣后端返回駝峰命名比如createTime前端直接用不做轉(zhuǎn)換。MySQL里的create_time通過MyBatis-Plus的駝峰映射自動(dòng)轉(zhuǎn)成createTime所以Java實(shí)體類里也是駝峰三層命名一致省去很多煩惱。5.2 Vue打包放進(jìn)Spring Boot的坑與處理很多同學(xué)做完前后端分離老師卻說我要一個(gè)能直接跑的東西這時(shí)候就需要把Vue打包后放到Spring Boot里打成單jar運(yùn)行。步驟很簡單在Vue項(xiàng)目根目錄執(zhí)行npm run build生成dist目錄。把dist里的文件復(fù)制到Spring Boot的src/main/resources/static目錄下。重新打包Spring Bootjava -jar啟動(dòng)后直接訪問http://localhost:8080/就能看到前端頁面。但這里有幾個(gè)坑幾乎必踩坑一Vue路由的history模式會(huì)導(dǎo)致刷新404。如果你用history模式路由訪問/order/list刷新頁面時(shí)Spring Boot會(huì)把請求交給DispatcherServlet找不到對(duì)應(yīng)的/order/list接口就會(huì)返回404。解決辦法是在后端加一個(gè)路由轉(zhuǎn)發(fā)規(guī)則Controller public class RouteController { RequestMapping(value /{path:[^\\.]*}) public String forward() { return forward:/index.html; } }這個(gè)正則[^\\.]*的意思是路徑里不含點(diǎn)號(hào)就轉(zhuǎn)發(fā)到index.html這樣既能放行靜態(tài)資源js/css帶點(diǎn)號(hào)又能解決前端路由404。這個(gè)配置在畢設(shè)答辯里是一個(gè)很能加分的點(diǎn)因?yàn)榇蟛糠滞瑢W(xué)根本不會(huì)遇到這個(gè)問題??佣岸苏埱蟮腂aseURL要跟部署環(huán)境適配。開發(fā)時(shí)前端代理指向http://localhost:8080打包之后前端頁面和后端同源了如果代碼里還硬編碼了http://localhost:8080部署到服務(wù)器上就廢了。我的做法是在Vue里用環(huán)境變量區(qū)分// .env.development VITE_API_BASE_URL /api // .env.production VITE_API_BASE_URL /api開發(fā)時(shí)配置Vite代理轉(zhuǎn)發(fā)生產(chǎn)時(shí)因?yàn)橥此圆恍枰怼_@樣代碼里就統(tǒng)一寫axios.post(${baseUrl}/order/create)不會(huì)出現(xiàn)環(huán)境切換的麻煩??尤募蟼髀窂絼e用相對(duì)路徑。家教老師上傳資質(zhì)證明教師資格證照片很多同學(xué)會(huì)把文件保存到static/upload/目錄下這在本地跑好好的部署到服務(wù)器上就出問題。更好的做法是配置一個(gè)絕對(duì)路徑的上傳目錄通過application.yml里的file.upload-path配置然后用一個(gè)虛擬路徑映射到它Configuration public class FileConfig implements WebMvcConfigurer { Value(${file.upload-path}) private String uploadPath; Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler(/upload/**) .addResourceLocations(file: uploadPath /); } }這樣前端訪問/upload/xxx.jpg就能拿到圖片而文件本體存在服務(wù)器某個(gè)固定目錄不會(huì)因?yàn)橹匦麓虬黬ar而丟失。6. 實(shí)測中踩過的坑與優(yōu)化建議6.1 Spring Boot版本和依賴兼容性問題這幾個(gè)月我?guī)腿舜罱ōh(huán)境時(shí)遇到最多的報(bào)錯(cuò)九成出在版本上。Spring Boot 2.7.x對(duì)應(yīng)MyBatis-Plus的mybatis-plus-boot-starter要選3.5.x但如果你用Spring Boot 3.x要求MyBatis-Plus 3.5.3以上并且包名會(huì)變從com.baomidou變到com.github.pagehelper這種邊邊角角的兼容問題則更隱蔽網(wǎng)上老教程的代碼直接復(fù)制過來多半跑不起來。我的建議是做畢設(shè)就鎖死一套經(jīng)過驗(yàn)證的組合別追求最新。推薦組合如下組件推薦版本JDK1.8或11Spring Boot2.7.18MyBatis-Plus3.5.3.1MySQL驅(qū)動(dòng)8.0.33Hutool5.8.xJJWT0.11.5Hutool這個(gè)工具庫我強(qiáng)烈推薦里面封裝了日期處理、加密、文件上傳、驗(yàn)證碼生成等等常用方法能少做很多輪子。JJWT是標(biāo)準(zhǔn)的Java JWT庫0.11.5版本對(duì)JDK 8友好別去用io.jsonwebtoken:jjwt的舊坐標(biāo)那是另一個(gè)坑。6.2 定時(shí)任務(wù)的實(shí)現(xiàn)與注意事項(xiàng)家教系統(tǒng)里天然需要定時(shí)任務(wù)比如課時(shí)開始前2小時(shí)給老師發(fā)提醒訂單超過24小時(shí)未確認(rèn)自動(dòng)取消月底生成賬單。Spring Boot的定時(shí)任務(wù)用Scheduled注解就夠Component public class OrderAutoCloseTask { Scheduled(cron 0 0 * * * ?) // 每小時(shí)執(zhí)行一次 public void closeExpiredOrders() { // 查詢狀態(tài)為待確認(rèn)、創(chuàng)建時(shí)間超過24小時(shí)的訂單批量改為已取消 } }但凡是定時(shí)任務(wù)就避不開幾個(gè)細(xì)節(jié)一是cron表達(dá)式別寫錯(cuò)。Spring Boot的cron是6段有時(shí)7段秒 分 時(shí) 日 月 周網(wǎng)上抄的表達(dá)式多半是Quartz的7段跑不起來別慌把首位去掉試試。二是定時(shí)任務(wù)默認(rèn)是單線程串行執(zhí)行的。如果你有多個(gè)定時(shí)任務(wù)默認(rèn)情況下它們是排隊(duì)完成的如果某個(gè)任務(wù)執(zhí)行時(shí)間過長會(huì)卡住后面的任務(wù)。要并發(fā)執(zhí)行就配置一個(gè)TaskScheduler并設(shè)置線程池大小。這個(gè)點(diǎn)回答系統(tǒng)如何優(yōu)化性能時(shí)可以作為一個(gè)小亮點(diǎn)。三是線上環(huán)境里定時(shí)任務(wù)要關(guān)注冪等性。比如自動(dòng)取消超時(shí)訂單這個(gè)任務(wù)如果執(zhí)行到一半服務(wù)器重啟了重啟后任務(wù)會(huì)重新執(zhí)行你怎么保證不會(huì)重復(fù)取消我的辦法是任務(wù)執(zhí)行前判斷訂單當(dāng)前狀態(tài)只有在待確認(rèn)狀態(tài)才執(zhí)行取消已經(jīng)取消的跳過天然冪等。6.3 上線前要做的安全加固畢設(shè)雖然很多只需要在本地演示但如果你想把項(xiàng)目放到服務(wù)器上給老師遠(yuǎn)程看以下安全措施一個(gè)都別省密碼加密禁止明文存密碼BCryptPasswordEncoder起步這個(gè)Spring Security自帶不需要引入全套Security框架單獨(dú)引入spring-security-crypto依賴即可。SQL注入防堵MyBatis-Plus的LambdaQueryWrapper參數(shù)綁定天然防注入但如果是手寫XML里的${}傳參就要小心能用#{}就別用${}。越權(quán)訪問防護(hù)JWT里存了role但后端不能只看前端傳的role每個(gè)角色接口的鑒權(quán)必須依賴攔截器里從Token解析出的角色不能信任前端請求體里的字段。限制敏感接口的請求頻率比如發(fā)送短信驗(yàn)證碼、登錄接口這種加個(gè)簡單的Redis計(jì)數(shù)器限制頻率。如果項(xiàng)目還沒引入Redis也可以先用一個(gè)ConcurrentHashMap手動(dòng)計(jì)數(shù)兜底差距區(qū)別只在分布式環(huán)境上。7. 寫在最后的項(xiàng)目落地個(gè)人體會(huì)這個(gè)家教管理系統(tǒng)從建表到全部功能跑通我前后花了大概四天。如果只是為自己做三天就夠剩下一天全部消耗在環(huán)境和聯(lián)調(diào)上了。給我的最大感受是寫業(yè)務(wù)系統(tǒng)的核心能力不是把代碼敲出來而是把業(yè)務(wù)關(guān)系理清楚——學(xué)生要不要單獨(dú)建表訂單狀態(tài)怎么流轉(zhuǎn)課時(shí)確認(rèn)之后錢怎么算這些問題想清楚了Spring Boot只是一個(gè)順手的工具代碼寫起來非???。但如果你一上來就悶頭建工程寫CRUD后面改表的代價(jià)會(huì)教你做人。另一個(gè)實(shí)操建議是從中間表入手寫代碼不要從頭表寫起。我每次都是先做訂單表和課時(shí)記錄表因?yàn)檫@兩張表關(guān)聯(lián)了其他所有表把它們跑通了用戶表和科目表怎么接都順理成章。最后留一個(gè)可以當(dāng)答辯加分項(xiàng)/擴(kuò)展方向的小提示家教系統(tǒng)的推薦邏輯其實(shí)特別適合做簡單化處理比如同科目優(yōu)先、同區(qū)域優(yōu)先、價(jià)格從低到高排序就可以用一句SQL完成如果你想再深入一步還可以引入用戶評(píng)價(jià)分作為排序權(quán)重這就是一個(gè)輕量級(jí)協(xié)同過濾的雛形。這句話你寫在論文結(jié)論部分比空談未來可以接入大數(shù)據(jù)分析要具體得多也更能體現(xiàn)你真的想過系統(tǒng)演進(jìn)的方向。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
经典丝袜一区| jk白丝没脱就开始啪啪| 久久水蜜臀亚洲AV无码精品| 欧美精品 - 91爱爱| 亚洲成a人在线观看久| 一本色道熟妇| 亚洲的天堂网| 嗯嗯,啊啊,国产精品| 日韩美女操b| 欧美91精品国产自产| 欧美一品道| 操我啊啊啊啊啊| 国产成人无码网站在线视频| 一区二区三区成人高清视频| 99久久久无码精品国产人| 天天欧美| 九久9精品| 天美传媒精品一区二区三区| 九久精品| 亚洲欧洲自拍| 午夜男女爽爽大片免费观看| 91人妻Pr| 在线无码操| 人人玩人人添人人澡免费| 欧美懂色综合网| 精品一区二区2| 国产精品天干天干综合网麻豆| 日韩乱码Av| 人人人人人人少妇| 天天色悠悠激情| 日韩一级片在线看| 激情五月天色色| www成人啪啪18秘 免费| www鬼畜国产男人的天堂| 狠狠五月天| 日韩去日本高清在| 1769精品一区二区三区| 久久香蕉综合一本到3atv| 日本高清_区二区三区| 嫩呦国产一区二区三区AV| 黄色片一区二区三区四区五区| 亚洲另类欧美精品| 粉嫩av在线一区二区| 国产宅男宅女在线观看| 欧美一区二区观看在线| 91麻豆天美国产欧美| 婷婷天堂站| 欧美日韩性爱视屏免费看了| 久区视频| 男人天堂网址| 偷拍三区| 97久久久| 国产精品久久久视频| 97国产精品国| 农村妇女精品一区二区| 91色人| 中文字幕视频在线观看| V A在线| 蜜乳AV.COM| 18禁精品网站在线看| 欧美人妻一区| 人妻无码久久一区二区三区免费| 福利天天都操| 超碰97人妻免费在线| 乳欲人妻办公室奶水| 国产做?爰片久久毛片?片美国| 婷婷中文字幕| 美女诱惑在线一区| 亚洲有码视频二区| 亚州操逼网| 97天天爽| 锕锕好爽 死我在线观看| 久久久久久久久女黄| 97这里有精品| 欧美黑人精品一区二区| 日本一区三级韩国| 人人操人人精品影片| 亚洲成成熟女人综合一区二区| 一级性爱视频免费在线| 最新日韩黄片| 老熟妇综合| 台湾佬大香蕉| 黄色欧美性爱视频| 日韩少妇丰满亚洲| 午夜亚洲WWW湿好大| 国产尹人在线视频免费| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 色综合美国| 国产成人主播| 国产精品日本无码A片| 色成人Www精品永久观看| 射 色综合| 久久人体一区二区| 欧美黄片视频在线观看免费| 97 超碰 人人做 人人爱| 蜜桃传媒视频第一区入口在线看| 国产Aα| 欧美性爱97超碰| 亚洲风情综合网| 看免费一级在线播放毛片| 成人性爱电影一区二区| 97国产伦理| 一中国女人毛片水真多| 亚洲天堂,男人| 国产精品suv一区| 一起草三级AV电影在线观看 | 久9爱经典视频| 一区二区免费电影久久| 欧美天堂日韩三级国产传媒| J?P?NESEHD熟女熟妇伦| 91女人的网站| 国产精品ww久久| 亚洲天堂,男人| 久欲AV| 两女互慰AV高潮喷水在线观看| 操少妇很爽av| 人人模人人看| 日少妇亚洲版| 黄色AAAAA欧美| 午夜呻吟欧美| 日韩有码 一区二区三区| 国产农村妇女一区二区| 欧美美女视频| 98一区二区精品| 一区二区三区一亚洲中文字幕、综合区灬 | 丝袜色综合| 大香蕉专区| 激情小说亚洲视频| 在线视频免费播放一区| 一区二区三区四区在线不卡| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 五月婷婷丁香六月| 91丝袜| 婷婷综合久久| 欧美97爱| 中日韩久久人妻一区二区| 91国产操逼视频| 岛国999| 久久久9 9 9精品| 无套内射人妻在线播放| 内射中国少妇高清视频免费视频| 亚乱色| 91激情综合| 精品性爱无码在线播放| 亚洲中文字幕熟女少妇一区二区| 久久久精品国产亚洲伊人| 97在线免费| 四虎884a| 欧美啪啪女女| 眼镜人妻101.com| 色婷婷一区二区三区久久午夜| 亚洲一卡2卡3卡4卡乱码网站| 亚洲国产丝袜在线观看| 色婷婷综合久久久久中文一区二区 | 91伊人久久在线| 日本国产欧美高清在线| 99re在线| 色网1| 日本九九九九| 一级成人性爱| 亚洲精品91| 亚洲AV资源| 久久成人国产| 超碰97中文| 国产精品久久久久久久久久久久久久久久久久 | 亚瑟国产精品久久无码| 色婷婷一区二区三区久久| 高树玛利亚无码流出| 国产成人欧美一区二区三区的国产| 久久9999 | 亚洲性网| 2020天天色综合| 黄页18禁| 亚洲精品美女久久久久久久久| 草草草视频在线免费看| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 久久久夜夜夜| 久久99干一本高清| 免费观看网黄| 日日骚网站| 超碰97在线中文| 理论久久婷婷网 8| 99九九久久| 人妻少妇被猛烈进入中| 黄色免费网| 有码专区最新中文字幕有码| 经典丝袜一区| 美女毛片999| 天天日天天色| 丁香五月激情综合国产| 91九色网| 99无码精品| 亚洲97久久精品亚洲| 免费观看日本操逼视频| 亚洲欧美人妻| 神马麻豆福利院 | 全球成人中文在线| 强奸乱伦av电影| 久久精品人人做人人看| 国产精品ⅴ无码大片在线看.| 97亚洲综合| 国产区在线| 9美女超碰在线免费观看| 足交视频老司机| 久久精品人妻一区二区| 国产天美传媒精品| 超碰社区97| 香蕉色网| 自拍第一页| 99re这里只有精品2| 久久大香蕉97| 97神马久久| 97碰碰色| 天天综合91| 色欲av国内精品久久久久久| 91啦人妻| 乱伦3P视频| 亚洲四虎熟女精品| 农村妇女一级二级三级视频| 欧美极品少妇交| 熟女丝袜视频| 青娱乐国产剧情av一区| av一区二区三区不卡| 日日碰狠狠添天天爽超| 亚洲综合113页| 亚洲综合图文| 爱爱久久| 四虎精品永久在线观看| 91欧美色| 伊人久久综合影院精品久久久| 亚洲AV成人精品网站在AV| 人妻少妇久久中文字幕一区二区 麻豆| 91这里只有精品| 在线日韩精品一区二区三区| 免费一级黄色录像影片| 伊人色综合网电影| 97蜜桃综合| 夜夜嗷嗷一区二区| 东北操逼| 97亚洲中文| 国产又黄又爽| 日韩精品亚洲专区在线影视| 中文字幕啊啊啊在线观看视频| 精品久久久久瑟瑟| chaopen97久久| 97在线免费观看| 无码天天操| 婷婷久久五月天| 99啪| 亚洲熟女诱惑| 久操99| 精品国产一区二区三区久久久蜜臀| 欧美熟妇操操视频| 欧美精品成人一区二区在线观看 | 午夜福利免费福利视频| 人妻少妇精品久久久久久| 亚洲91大片| 国产乱子伦一区二区三区在线观看| 国产精品不卡一区二区电影| 九九热九九| 97视频620| 国产在线激情| 亚洲中文字幕久久人妻| 成人无码专区精品视频| 东京热毛片调教| 波多野结衣被操50分钟免费视频| 狠狠久久亚洲欧美专区| 日韩毛片9| 国产高清午夜成人在线观看| 丁香九月婷婷| #NAME?| 岛国网址国产| 91真人天天在线| 午夜丁香| 天天内射| 试看福利| 五十路三级片| 大香蕉之青青草原| 男人女人18禁片免费看网站| 天天影视色香色欲| 国产后入式在线观看| 亚洲国产一区二区日韩专区| 91精品电影18| 成人片在线播放| 91视频综合在线| 内射小黄片| 日韩欧美成人大香蕉| 97在线免费看视频| 亚洲天堂色图| 亚洲无码电影久久久| 五月婷色| 诱惑网综合| 99九九久久| 日本不卡中文| 色色色热| 久久夜夜| 色999偷自拍拍| 秋霞 色色| 欧美色偷拍| 精品欧美老熟女一二区| 成人女人国产| 芊芊操逼视频无码| 国产精品久久久久久夜夜夜夜| 国产精品亚洲一级av第二区| 欧洲精品久久| 破苞ⅩXXX性无码动漫无码| 91艹| 国产免费久久久久| 九九精品网| 激情五月婷婷| 日本人妻丰满熟妇久久久久久| 久久发布国产伦子伦精品| 超碰在线欧美性爱激情| 欧美色图 人妻| 日本道久久综合色色| 无码二级三级| AV一二区| 超碰91在线| 亚洲日韩成人性爱视频| 99热销国产这里有精品| 精品人人| 天天视频综合在线观看视频| 日韩综合第八区国产精品| 亚洲操操| av在线播放国产一区| 狠狠爱夜夜干| 五月黑AⅤ| 久久久久亚洲三级电影| 久热这里| 狠狠搞 亚洲91| 亚洲午夜福利视频| 高清有码一区二区| 99在线精品观看视频中文| 亚洲国产第一页综合视频| 国产精品又黄又猛又粗| 校园春色亚洲色图| 91综合国产精品| 五月婷在线| 人人操人人插 - 百度 - 百度| 蜜桃狠狠色伊人亚洲综合 | 久久97资源 网| 999国产精品999| 在线日韩精品一区二区三区| 国产精品一二三| 91青视频| 久久一二三四五六七八九区区区 | 国产绿奴视频在线观看| 男人综合网| 日影院久久婷婷夜夜网| 黄总AV色图| 99精品在线播放| 草草影院日本第一页| 春色综合网| 亚洲视频二区| 日本精品性生活久久久| 91九久| 亚洲国产高清福利视频| 黄色人人| 国产精品干干干| 精品国产av一区二区三区四区入口| 操死我了啊啊啊| 夜夜操夜夜爽夜夜高潮| 日韩内射视频| 爱爱动态120秒| AV九九| 精品一区二区成人动漫| av天堂5| 乳欲人妻办公室奶水| 91在线精品一区二区三区| 综合色区偷拍| 清纯唯美激情| 国产激情在线| 人妻精品一区二区三区| 久久久久深夜无码| AV女资源| 少妇久久久久久久久| 亚洲情色无码一区二区三区| 视频在线97| wuyechaopeng| 中文字幕精品亚洲熟女| 欧美三四五区| 久久久极品| 少妇九九九九| 久久六六| 亚洲国产一级黄色视频| 欧美亚洲自拍另类人妻| 亚洲国产精品无码AV久久久| 一区二区三区高清天码| 波多野结衣一级视频| 国产视频一区二区三区在线免费观看 | 欧美日韩资源| 国产女s强制榨精视频| 91精品国产91久久青草| 2025年A片视频精品| 69XX一中文字幕人妻91| 午夜福利无毒不卡| 操逼视频免费日韩无码| 99色综合| 色鬼在线综合| 国产第二页| 麻豆区久久久久亚| 久热一区二区| 国内毛片无遮挡国产| 精品国产一区二区三区四区在线看| 国产精品国产自产高清AV| 操逼1区| 91啪啪视频| 97精品国产97久久久久久| 婷婷色香| 久久久91福利姬| 9久久久久久| 操国产高清| 曰韩操B| 制服乱伦| 色五月69夫妻| 怡红院网站在线视频| 亚洲综合20p| 欧美特大AA级黄片| 色爱国产| 1二区9| 亚洲AV永久无码精品成人调教| 东京热毛片177b2viP| 超碰免费人妻人人| 久久XX| 97这里都是精品| 欧美 日韩第一性色| 96精品久久久久久久久| 樱花蜜乳av| 99热婷婷| 国产精品动态一区二区三区四四| 亚洲全色网| 综合操逼| 国产中文福利| 亚洲男人综合| 欧美激情综合色综合啪啪五月| 熟女中出视频| 欧美97超碰| 亚洲国产成人精品久久久国产成人一区二区三. | 99国产天美| 精品丰满熟妇人妻一区| 26uuu偷拍亚洲欧洲综合| 国产原创自拍| 中文字幕一品色图| 欧美日韩操逼动图| 色好看av| 九九热九九| 欧美性爱精品一区二区| 亚洲人人夜夜澡人人爽| 少妇一区二区三区精选| 美腿色图| 天美传媒精品一区二区| 发朗少妇买婬全视频中文| 亚洲系列欧美| 中日亚韩免费视频| 熟女欧美日韩综合婷婷| 婷婷伊人五月| 国产馆极品诱惑| 密臀在线一区尤物| 婷婷五月在线视频| 中文字幕视频在线观看| 九九人人操| 俺也射| 亚洲天堂7777| 激情文学小说一区二区| 国产精品99久久久www| 98超碰日本| 国产精品视频麻豆入口| 天天操天天看| 国产美女mm131爽爽爽爽| 一区二区 电影 亚洲| 亚洲一区中文精品| 91色图片| 密乳AV免费观看| 丁香五月天久久精品视频一区二区三区| 激情小说亚洲| 亚洲AV乱码专区国产噜噜亚洲| 亚洲色图91| 熟妇女人妻呻吟久久AV| 欧美伦乱爱| 无码av永久免费专区网站| 久久视网78| 久久欲| 夜精品久无码| 国产精品亚洲一区二区三区四区| 久超碰这里只有精品| 美女一区二区国产精品| 日韩AV噜噜噜一区二区三区四区| 久久丁香五月天| 夜夜爽夜夜高潮夜夜爽| 精品国产嫩穴视频| 中文字幕精品一区欧美| 死我十八禁| 色播五月婷婷| 日本成人在线不卡一区二区三区| 鸥美插入视频| 精品国产乱码久久久久久口爆网站| 97热视频在线观看| 午夜免费视频1000| 久久久国产av美女私房| 午夜精品久久久99热蜜桃的功能特点| 人妻22p| 新亚洲无码| 亚洲和欧美裸体美女双飞视频| 国产午夜无码片在线观看影视| 亚洲 欧美 日韩另类 麻豆| 中文字幕日韩综合| αⅴ天堂| 欧美天天干| 欧美情色贴图| 久久本道| HEYZO高无码国产精品227| 91老熟女视频| 一区二区三区四区在线不卡| 九九精品美女高溯喷水 | 久久久97| 无码精品久久久天天影视| 久久爱97| 国产精品久久久久久久久久久久久久久 | 91久久久久久| 国产免a费看黄片在线| 最新制服中文第一页| 91爰爱欧美| 久久香蕉网| 国产啊v在线免费播放| 日韩15p| 97超碰超欧美。| 麻豆黄色五月天| 日韩性爱高清免费视频| 精品国产丝袜一区二区三区乱码| 久久超碰日韩精品| 日韩视频精品在线观看| 大香交| 91在线美女| 国产人伦a片信息免费片| 亚洲天堂男人的天堂| 男人天堂网手机版婷婷| 夜草欧美| 神马久久久久久久久久久久| 青青草在线成人视频| 五月丁香六月婷| 中文字幕精品日韩中文字幕| 国产三级资源在线观看| 国产熟女精品一区二区| 老女人综合| 中文字幕欧洲有码| 欧美综合色综合| 中文一区在线日| 国产成自自拍在线观看| 亚洲综合在线高清| 人妻美腿丝袜制服诱惑综合天堂-| 熟女熟妇一区二区三四区| 91亚洲丝袜| 超碰天天久久79| 超碰人人乐97| 丰满人妻一区二区三区四| 婷婷天堂站| 欧美熟妇视频| 国产熟女精品一区二区| 无码人妻一区二区三区四区老鸭窝| 欧美在线色| 久操网在线| 美性中文综合网| 99re99视频在线免费观看| 四虎AV影视国产精品亚洲精品| WWW4虎| 泰国AV在线观看| 北京专精特新企业招聘信息| 亚洲精品蜜桃久久久一区二区三区| h在线看免费版在线看| 99热这里只有精品8| 色色无码| 69综合网| 9999九九九久久久| 99久久免费看精品国产一区| 欧美综合色,www| 国产深夜福利| 小日子操bb在线看| 97欧美性爱| 午夜免费福利视频一区| 人妻AV 中文字幕的| 久久综合乱子伦国产免费| 久超超碰| 夜夜嗨TV| 男女无套 免费网站| 日韩人妻一区二区| 思思热国产在线视频| 高清国产av无码| 欧美亚州手机在线| 性爱AV天堂| 人人妻人人色一区二区三区| 国产精品乱码久久久久| 日本精品网站在线中文| 黄色av一区二区在线| 超碰97欧美在线| 美女AV一区二区| 人妻激情视频| 2024年最新色情网站在线观看| 一区二区三区在线美女| 任你艹| 久久超碰免费的| 91精品婷婷国产综合久久| 一区二区高清视频| 亚洲精品第一| 91丝袜美女| 欧美色爱综合| 人人摸.人人色| 婷婷丁香六月| 欧美中字不卡| 欧美中文字幕日韩在线| 97色干| 91精品婷婷国产综合久久竹菊| 精品午夜福利国产一区二区在线观看| 久久人人爽人人爽人人片Ⅴ| 麻豆九九九| 婷婷性网| 操逼操逼逼操操逼91| 泰国AV在线观看| 99在线精品观看视频中文| 色哟哟AⅤ| 99这里有精品视频| 热久久无毒不卡| 亚洲精品白浆高清久久久久久| 成人欧美一区二区三区黑人一| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 久草免费福利在线播放| 九九九综合精品| 亚洲性天堂| 日本在线播放不卡一区| 久久久99999久网站| 日韩操啪| 按摩中文字幕| 美女诱惑一区| 国产 日韩 欧美 人妻 熟女 中文| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 97欧美日韩| 97av在线视频| 97中文字幕一区| A片 AV一级在线播放观看免费| 熟啊v色欧美热| 日本一级真人黄色性爱视频| 五月天婷婷小说| 伊人性在线视频| 福利在线黄片| av日韩中文字幕| 思思热免费视频观看| 久久久91福利姬| 1769一区二区| 97 国产精品| 日本道久久综合色色| 欧美在线综合| 欧美人人AAA| 一本大道青青| 五月丁香色综合| 亚洲中文字幕一区二区| 国产丸一视频| 偷看洗澡一二三区美女| 精品国产乱码久久久久久久| 久久激情五月| 亚洲色图91| 欧美激情超碰777| 免费一级性爱久久| 91伊人久久在线| 国产精品99久久久www| 91N综合网| 淫淫总合网| 美女天天干| 天天天天做夜夜夜夜做| 欧美强奸乱| 亚洲欧美97√| 色香阁在线| 日小BB小视频| 青青操日韩| 久久天天性久久伊人| 一个人免费视频观看在线WWW | 岛国片在线播放| 性色高清..……| 男人的天堂亚洲| 超碰在线人妻中文字幕| 9精品久久| 亚洲欧美精品福利在线| 久久色精品视频在线| 情色五月天久久久| 91精品久久综合熟女| 亚洲成人贴图| 亚洲精品1区| 色综合色综合网| 熟女乱3伦999| 日本免费二区三区| 蜜臀久久99精品久久久久免费观| 全免费a敌肛交毛片免费| 日本精品一区二区不卡| 欧美老妇女内射网址| 欧美人人AAA| 美女裸体无遮挡永久免费观看网站| 天天操人人操骚逼网站| 蜜臀少妇一区二区| 26uuu国产日韩综合在线观看| 久久一区二区蜜桃| 91超碰碰在线| 国产av白丝| 日韩激情中文字幕有码| 污色区网站| 亚洲久久天堂| 人妻在线大香蕉| 青青草视频久久| 亚洲古典另类欧美在线| 欧美精品精品一区二区| 青青草依人大香蕉| 国产欧美日本亚洲精品| 久夜操| 成人欧美日超碰| 91九久| 久久久97| 欧美中文狠| 婷婷五月天色网| 一及黄久一点| 97五月天| 久久久久国产一区二| 麻豆久久精品亚洲精品88| 精彩久久中文| 色情亚洲日本成人| 人妻天天操天天爽视频免费| 人人做人人妻人人夜视频| 一区二区三区免费视频入口| 东京热91| 视频在线97| 青青草国产盗摄一二三区| 碰碰在线视频| 五月色综合| 人人看人人摸人人色| 日韩色欲久久一二三四区| 亚洲无码视频免费在线观看网址!| 青女偷拍网| 久久后入制服| 伊人少妇久久久| 操曰本熟女| 9久精品视频在线观看| 亚洲日韩青青草色月| 操九九九九九九| 混色激情av| 不卡在线一区,精品一区二区三区中| 操逼逼无码| 人人透人人操| 91色色色| 人妻久久久久久| AV中文在线| 五月丁香啪| 国产精品麻豆成人AV艾秋| 91操操| 韩日精品四区| 超碰超碰欧美| 丝袜综合| 日韩丝袜高跟制服在线观看| 牛牛久久国产精品视频一二三| 久久综合超碰| 国产精品97超碰| 人人操超碰在线| 96久久久久| 一本色道综合久久欧美| 99久久精品国产高潮| 成人羞羞视频国产| 白天啪啪晚上啪啪视频| 丁香九月激情| 综合久欧洲| 亚洲综合在线91| 无码一区二区精品视频久久久春药| 国产精品久久久久中文字幕| 2024人人操人人摸| 2018天天日天天日| 亚洲h片在线免费观看| 亚洲欧美国产日本一区二区三区| 久久综合18p| 91亚洲丝袜熟女| 欧美日韩日产免费网站看| 91综合色噜噜| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 日韩免费高清大片在线| 少妇久久| 大香蕉久| 日韩中文字幕在线视频观看| 午夜男女爽爽大片免费观看| 亚洲图片 欧美电影| 老熟女区| 殴美牲| 亚洲女毛多水多21P| 精品999一区二区| 热久久无毒不卡| 欧美色色人| 国产精品色色| 超碰人人干天天射| 一本大道综合伊人精品热热| www.男人的天堂| 久久99国产综合精品女同| 极品久久久久久久久久久久久久| 五月天激情小说网| 69麻豆天美| 91看黄片| 成人AV超碰免费在线| 这里都是精品在线观看| 人澡逼| 九九Av| 免费人成毛片乱码| 国产AV人人 夜夜人人澡| 操B视频日韩无码| 欧美97视频| 色色色99| 欧美特大AA级黄片| 91天天综合在线观看| 久久久久免费少妇| 粉嫩av久久一区二区三区| 久草线上视频免费看| 中文字幕 码 自拍 视频 区| 98人妻精品一区二区色欲| 亚拍在线| Av色五月| 十八禁啪啦拍视频无遮挡| 国产成人欧美精品在线| 999熟女精品| 人妻久热在线| 色色色欧美| 亚洲乱伦图片视频| 国产精品久久久啊| 久久久久久99999国产精品| 婷婷三区| 在线只有精品| 日韩一级免费性爱| 午夜激情成人在线观看| 偷拍盗拍亚洲色图图片| 99re综合伊人| 东京热不卡视频| 亚洲日韩青青草色月| 欧美综合站| 99精品视频在线观看| 极品尤物在线观看| 亚洲啪啪视频一区二区| 青青免费在线视频一区| 91情色| 精品午夜福利| 97欧美在线| 日韩在线国产字幕| 十八禁一区二区无码观看| 亚洲精品丝袜| 欧美精品三级黄片| 国产AV人人 夜夜人人澡| 国产精品熟女一区二区三区| 久久亚洲影院一区二区| 欧亚 另类 久| 草草影院最新网址| 亚洲中文国际强奸字幕| 无码黑人精品一区二区三区三| 国产第25页在线观看| 天天做日日爱夜夜爽| 色色色综合网| 欧美性后入| 中文字幕超碰CAO| 综精品久久久aaaa| 久久国产视频专区一二三 | 国产精品无码成人精品| 三级片大波波| 91小视频| 一类无码操逼视频| 一起草三级AV电影在线观看| 九九九免费视频| 91大神精品长腿在线观看网站| 日本影视久久免费| 成人乱人伦一区二区| 超碰人人超在线观看| 久久久999日本大片| 天天看片麻豆| 中文字幕三四五区| 国产精品福利视频播放| 丁香婷婷久久| 激情小说亚洲图片| 日韩熟女精一区二区三区不卡| 日韩日本欧美在线观看| 激情久久av一区av二区av| 蜜臀精品1区2区| 亚洲欧美内射| 欧美aa一级片| 少妇被玩视频二三区| 大逼色网站| 强奸乱伦大香蕉网| 99色骚| 色色毛片| 美女黄页| 96精品久久久久久久久久| 欧美顶级黄色大片免费| 97干在线看| 男人久久天堂| 在线观看一卡二卡| 极品少妇久久久| 97人人模人人爽人人| 人妻 欧美亚洲| 久操网线| 欧美亚洲高清晰| 92午夜免费福利视频| 风骚少妇视频中文字幕| 亚洲蜜乳av| 男人的天堂无码| 日本中文字幕在线视频| 天堂精品| 色婷婷丁香五月| 精品人妻一区二区三区四区不卡在| 男人的天堂2019AV| 亚洲欧美小说| 欧美91在线+|+欧美| 欧美精品99久久久**| 先锋精品av色鲁| 黄色香蕉视频网站一区| 国产极品馒头逼| 91亚洲欧美| 我要去看2个日本美女.com曹逼| 日韩欧美亚洲自拍偷拍| 无码人妻精品酒店| 蜜臀久久99精品久久久电影| 亚洲欧美日韩电影网站一区 | 中文字幕人成乱码熟女香港| 玖色av| 98一区二区精品| 另类TS人妖一区二区三区| 91精品国产麻豆国产自产在| 熟妇高潮二区三区| 亚洲一本色码中文字幕| 日产国产精品中文久久婷婷| 九九热在线视频| 免费视频a级毛片免费视频| 3D污黄视频在线观看| 狠狠中文字幕| 久操凹凸视频| 亚洲一区二区久久久久| 日韩黄片视频试看| 午夜.DJ高清在线观看免费7| 国产亚洲色停停久久99精品91| 日本男人天堂| 香蕉人欧美综合| 国产精品久久久久久久久久久久| 久久久91| 97AV在线观看| 高清国产精品福利网站| 婷婷久久五月综合激情| 人人模人人看| 黄片qw| 午夜福利无毒不卡| 新久久AV| a v网站在线播放| 日韩性爱电影一区| 色婷婷导航| 日产狠狠干| 91女网站| 91国产美女丝袜足交精品视频| 97超碰久久色| 97资源站久久| 青青草一区二区高清无码视频| AV女优男人的天堂| 亚洲一二三四区| 中文字幕黄片在线| 99老司机精品视频在线观看| 亚洲AV性爱电影| 一区二区三区激情在线观看| 五月激情视频| 日本美女性生活久久久久久久| 打av高清| 日本不卡一区二区三区| 韩日欧亚a级| 色香AV| 国产亚洲精品美女久久久| 色哟哟511老熟女| 狠狠色婷婷7777久| 久久久久久久少妇| 色综合99999| 国产尤物在线三区| 亚洲男人天堂av| 亚洲三区视频| 开心五月婷婷激情| 岛国AV一区二区电影| 无码人妻系列少妇| 欧美日韩亚洲天堂| 中文字幕精品一区欧美| 欧美日韩性爱视屏免费看了| 九九无码久久精品视频| 97就爱干| 98久久| 午夜福利视频在线一区| 性色一线| 风月影院男女十八禁| 国产深夜福利| 欧美日本国产日韩激情视频| 亚洲综合春色| 国产精品高朝久久久久久久| 欧美色宗合| 久草免费在线一区二区| 日韩精品三区四区| 精品久操| 飘花国产午夜精品不卡| 天天日天天爽| 亚洲人久久久网| 张柏芝国产一区在线观看| 国产亚州高清国产拍精| 91jk色拍| 国产精品久久久久久久久久久久久久吹 | 性色生活片久久毛片婬片免费放女人一级毛片| 日韩精品在线观看网站| 久久一二三级一一一| 揉揉揉夜夜| 激情综合二| 熟女自慰久久久| 嗯嗯啊啊啊好爽| 午夜影美女日鸡鸡天天视频国产| 精品熟女一区=区三区| 亚洲精品九九九九九九| 再深点灬舒服灬太大了添视频 | TS人妖另类精品视频系列| 717影院理论午夜伦八戒| 亚州色图欧美| 免费A片三p视频| 欧美综合站| 91热| 懂色AV蜜臀无码精品APP | 亚洲图片视频小说| 亚乱色| 欧亚第一综合网| 91香蕉国产尤物视频| 91精品丝袜久久久久久| 91碰碰| 九九久久一区二区伦理| 久久曰曰| 人人爱人人乐人人操| 蜜臀国产AV中文字幕| 亚洲图片视频小说| 午夜精品探花| 9ⅰ久久久天天| 国产精品色片一区二区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 青青欧洲黑| 狠狠中文字幕| 97视频900| 精品高清一区二区三区三州| 99www.bibizy香蕉资源国产一区二区三区高清 | 亚洲高清无码在线桃色| 日韩少妇在线视频| 在线观看无码三级少妇| 爱啪精品一区| 人人妻人人爽 97人人看碰人免费公开视频| 有码免费观看| 国产美女在线精品免费看| 刺激性视频黄页| 青娱乐福利99| 久久国产精品熟女人妻| 超碰在线观看av不卡| 亚洲黄a三级三级三级看三级| 亚洲第一狼人丝袜美女另类| 在线免费试看60秒| 色女99一级片在线观看| 婷婷av在线中文字幕| 日本999精品| 日本一区二区做爱的视频| 亚洲在线综合| 久久天堂婷婷网| 国产h小视频在线观看免费| 亚洲乱色视频一区、二区在线| 2018天天日天天日| 伊蕉97蜜桃97狠狠综合干| 亚洲情色中文字幕一区| 久久久极品| 欧美久久草熟女| 91精品久久久久五月天精品| 大香蕉青青9| 色情综合网| 秋霞 色色| 97超碰人操| 免费精品99| 51久久夜色精品国产麻豆| 亚洲熟女乱色一区二区三区久久久 | 夜夜爽妓女| A 在线网址| 久热精品在线| 91精品人妻一区二区三区蜜桃臀| 国产欧美日韩一区二区三区| 啊啊啊轻点在线观看| 丰满人妻一区二区三区四| 黄色片一区二区三区四区五区| 超碰综合97在线| 天综合网| av无码精品久久久久| 久久黄人人爽视频| 三级网站超变态精品| 九九综合久久| 东北少妇高潮zzzz| 9ⅰ久久久天天| 人妻精品综合中文字幕在线| 欧美人妻精品一区二区| 久久久亚洲熟妇熟女| 狠狠躁日日躁夜夜躁A| 好吊妞转入那个网| 青娱乐亚洲自拍| 91久久久久久久久18| 天天草AV| 四虎 精品 WWW| 女人被添高潮免费视频| 天天射天天| 亚洲人妻日日日| 久草精品一区| 久久色激情一区二区三区| 亚洲天堂无码| 亚洲日韩在线a不卡99精品| 91老妇女| 国产女人9999| 久久中文色图| 久99久视频精选| 国产精品久久久久av| 亚洲天堂中文字| 日韩欧美性爱电影在线观看| 男人的天堂kva| 伊人久久蜜月| 97久久精品亚洲中六字幕| 人人操AV| 精品亚洲国产成人AV制服丝袜| 日韩精品色呦呦| 女人天堂av在线播放| 99少妇内射| 天操天操夜操夜月操月年年操操| caopeng97人妻| 国产女上位好爽在线| 亚洲日韩精品在线播放| 亚洲丝袜诱惑| 在线性黄高清免费视频| 久久久亚洲Av| 日韩三级在线观看网站| 免费在线视频97| 亚洲图片偷拍欧美| 欲色啪| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲天堂女优在线| 乱精品一区字幕二区| 日韩成人免费电影| 韩国一级做A片免费的| 欧美日本国产日韩激情视频| 亚洲小电影免费涩涩成人在线高清 | 久久婷婷热| 国产欧美成人精品| 麻豆天美传媒在线视频天堂| 好湿好紧好爽 视频| 久热69九色熟妇97| 丰满人妻一区二区三区四 | 熟女乱3伦999| 国产精品一区二区a| 国产精品美女久久久久久网站| 日韩大香蕉| a'v在线资源| A级片日韩欧美国产欧美视频精选观看| yiqicaoav| 国产无码久久高清| 特级特黄一级毛片免费| 一个国产在线综合网站| 日韩熟女乱伦中出| 国模不卡| 色牛牛AV| 丁香五月成人| 岛国小电影| 97超碰巨乳|