中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

銀川網(wǎng)站建設(shè)哪家好手機(jī)優(yōu)化大師下載安裝

銀川網(wǎng)站建設(shè)哪家好,手機(jī)優(yōu)化大師下載安裝,快速做效果圖的網(wǎng)站叫什么區(qū)別,專門做三國戰(zhàn)紀(jì)的網(wǎng)站叫什么目錄 1.DTO/VO/PO 2.MVC架構(gòu)/微服務(wù)架構(gòu) 3.JWT令牌流程 4.ThreadLocal 5.接口路徑/路徑參數(shù) 1.DTO/VO/PO 1.1 DTO DTO 即 Data Transfer Object—— 數(shù)據(jù)傳輸對象,是用于傳輸數(shù)據(jù)的對象,通常在服務(wù)層與表現(xiàn)層之間傳遞數(shù)據(jù),DTO 通常用于…

目錄

1.DTO/VO/PO

2.MVC架構(gòu)/微服務(wù)架構(gòu)

3.JWT令牌流程

4.ThreadLocal

5.接口路徑/路徑參數(shù)


1.DTO/VO/PO

1.1 DTO

DTO 即 Data Transfer Object——?數(shù)據(jù)傳輸對象,是用于傳輸數(shù)據(jù)的對象,通常在服務(wù)層與表現(xiàn)層之間傳遞數(shù)據(jù),DTO 通常用于減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,因為它只包含需要傳遞的數(shù)據(jù),而不包含業(yè)務(wù)邏輯。DTO 常用于不同服務(wù)或系統(tǒng)之間的數(shù)據(jù)交換。

public class UserDTO {private String id;private String username;private String email;// 可能還包含其他的傳輸相關(guān)字段// Getters and Setters
}

1.2 VO

VO 即 Value Object-——值對象,VO 通常在表示層(如前端)使用,表示一個具體的業(yè)務(wù)場景中的數(shù)據(jù)結(jié)構(gòu),可能是多個領(lǐng)域?qū)ο蠡驅(qū)嶓w對象的組合。

public class UserVO {private String username;private String displayName;// 可能包含一些展示相關(guān)的信息,比如角色、權(quán)限等// Getters and Setters
}

1.3 PO

PO 即?Persistent Object——持久化對象,PO 是與數(shù)據(jù)庫表結(jié)構(gòu)一一對應(yīng)的 Java 對象,用于表示數(shù)據(jù)庫中的一行記錄。特點:

  • 直接映射到數(shù)據(jù)庫表結(jié)構(gòu),通常對應(yīng)于數(shù)據(jù)庫中的一張表
  • 包含數(shù)據(jù)庫字段的所有屬性
  • 可能包括一些與數(shù)據(jù)庫相關(guān)的注解或映射信息
@Entity
@Table(name = "users")
public class UserPO {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(name = "username")private String username;@Column(name = "password")private String password;@Column(name = "email")private String email;// Getters and Setters
}

三者的工作流程:

  1. 從數(shù)據(jù)庫到業(yè)務(wù)邏輯:在系統(tǒng)需要從數(shù)據(jù)庫中獲取數(shù)據(jù)時,通過 DAO 層獲取 PO 對象,將其從數(shù)據(jù)庫加載到內(nèi)存
  2. 業(yè)務(wù)層處理:如果業(yè)務(wù)邏輯復(fù)雜或者需要傳遞給其他服務(wù)時,將 PO 轉(zhuǎn)換成 DTO 或 VO 對象進(jìn)行傳輸,以減少依賴性和安全風(fēng)險。
  3. 傳輸?shù)娇蛻舳?#xff1a;DTO 將業(yè)務(wù)層處理后的數(shù)據(jù)傳輸?shù)娇刂破鲗?#xff0c;最終封裝為 API 響應(yīng)返回給客戶端。
  4. 從客戶端到數(shù)據(jù)庫:客戶端提交的數(shù)據(jù)通過控制器層接收后轉(zhuǎn)換為 DTO 或 VO,再經(jīng)業(yè)務(wù)邏輯處理后轉(zhuǎn)化為 PO,最終將數(shù)據(jù)保存至數(shù)據(jù)庫。

總結(jié):

  • PO:用于數(shù)據(jù)庫交互,直接與數(shù)據(jù)庫表結(jié)構(gòu)相關(guān)
  • DTO:用于跨層傳輸數(shù)據(jù),通常為精簡版或安全版的數(shù)據(jù)結(jié)構(gòu)
  • VO:用于業(yè)務(wù)邏輯,封裝系統(tǒng)內(nèi)的不可變數(shù)據(jù)

2.MVC架構(gòu)/微服務(wù)架構(gòu)

MVC架構(gòu)和微服務(wù)架構(gòu)是兩種不同層次的架構(gòu)模式,MVC是一種應(yīng)用內(nèi)的架構(gòu)模式,主要用于組織單個應(yīng)用程序的代碼邏輯,而微服務(wù)是一種系統(tǒng)級的架構(gòu)模式,用于將一個大型應(yīng)用分解成多個可獨立部署的服務(wù)。

具體來說,MVC(Model-View-Controller)是一種常見的軟件架構(gòu)模式,用于將應(yīng)用程序分為三個主要部分:模型(Model)、視圖(View)和控制器(Controller)。這種分層結(jié)構(gòu)幫助組織代碼,提高應(yīng)用的可維護(hù)性和擴(kuò)展性。

Model負(fù)責(zé)處理應(yīng)用程序的核心數(shù)據(jù)邏輯。它包含應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu)和業(yè)務(wù)邏輯,直接與數(shù)據(jù)庫進(jìn)行交互,并進(jìn)行數(shù)據(jù)的增刪改查操作。

View負(fù)責(zé)呈現(xiàn)數(shù)據(jù)給用戶,是用戶與應(yīng)用程序交互的界面。視圖的主要目的是展示數(shù)據(jù),但不包含業(yè)務(wù)邏輯。

Controller是模型和視圖之間的橋梁,負(fù)責(zé)處理用戶輸入并協(xié)調(diào)模型和視圖的工作??刂破鲝囊晥D接收用戶輸入,將其解釋為對模型的操作。

3.JWT令牌流程

4.ThreadLocal

客戶端每次發(fā)送的請求都屬于單獨的一個線程(最小單位,進(jìn)程是軟件),所以如果想要在一個請求中獲取信息就可以通過ThreadLoacl。ThreadLocal 并不是一個Thread(線程),而是Thread的局部變量。ThreadLocal為每個線程提供單獨一份存儲空間,具有線程隔離的效果,只有在線程內(nèi)才能獲取到對應(yīng)的值,線程外則不能訪問。ThreadLocal常用方法:

  • public void set(T vare)? 設(shè)置當(dāng)前線程的線程局部變量的值
  • public T get()??返回當(dāng)前線程所對應(yīng)的線程局部變量的值
  • public void remove()??移除當(dāng)前線程的線程局部變量

當(dāng)然,往往使用ThreadLocal的時候都會簡單地封裝成一個工具類:

public class BaseContext {public static ThreadLocal<Long> threadLocal = new ThreadLocal<>();public static void setCurrentId(Long id) {threadLocal.set(id);}public static Long getCurrentId() {return threadLocal.get();}public static void removeCurrentId() {threadLocal.remove();}}

5.接口路徑/路徑參數(shù)

在Java后端開發(fā)中,接口路徑和路徑參數(shù)是指向服務(wù)器資源和處理請求數(shù)據(jù)的重要概念,接口路徑是API中一個特定的URL地址,用于定位資源或功能,例如:

  • https://example.com/api/users:其中/api/users就是接口路徑,表示訪問用戶資源的接口

在Java后端開發(fā)中,接口路徑通常由控制器(Controller)類來定義。例如在Spring框架中,可以使用@RequestMapping、@GetMapping等注解來指定路徑,例如下面的代碼中,/api/users就是getAllUsers()方法的接口路徑

@RestController
@RequestMapping("/api")
public class UserController {@GetMapping("/users")public List<User> getAllUsers() {// 邏輯代碼}
}

路徑參數(shù)是URL路徑中的動態(tài)部分,通常用于識別特定資源。路徑參數(shù)使用{}括起來,并且會在方法中被解析并綁定。例如:

  • https://example.com/api/users/123:其中123就是路徑參數(shù),表示要訪問ID為123的用戶資源

假設(shè)我們有一個電商系統(tǒng),需要獲取特定商品的詳細(xì)信息。可以使用路徑參數(shù)來標(biāo)識商品的ID:接口路徑定義為:/api/products/{productId},如果要獲取ID為888的商品信息,客戶端會發(fā)起以下請求:

GET https://example.com/api/products/101

在Spring框架中,我們可以用@PathVariable注解來捕獲這個路徑參數(shù):

@RestController
@RequestMapping("/api/products")
public class ProductController {@GetMapping("/{productId}")public Product getProductById(@PathVariable("productId") Long productId) {// 假設(shè)我們從數(shù)據(jù)庫獲取商品信息Product product = productService.findProductById(productId);return product;}
}
  • {productId} 是路徑參數(shù)占位符
  • @PathVariable("productId") 把URL中的productId參數(shù)提取出來,并賦值給方法參數(shù)productId
  • 當(dāng)請求GET /api/products/101到達(dá)時,Spring會自動將路徑中的101賦值給productId,然后在getProductById方法中使用這個值來獲取商品信息

再舉一個例子,要寫一個啟用禁用員工賬號的接口,接口路徑+路徑參數(shù)為/status/{status}

@PostMapping("/status/{status}")
@ApiOperation("啟用禁用員工賬號")
public Result startOrStop(@PathVariable("status") Integer status, Long id){employeeService.startorstpp(status,id);return Result.success();
}

http://www.risenshineclean.com/news/11405.html

相關(guān)文章:

  • 未滿18歲能申請網(wǎng)站備案嗎網(wǎng)站模板之家
  • 景區(qū)網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷的步驟
  • 網(wǎng)站建設(shè)費攤銷年限seo獨立站優(yōu)化
  • 湖北做網(wǎng)站系統(tǒng)哪家好百度貼吧網(wǎng)頁版
  • 個人做企業(yè)網(wǎng)站制作要多少錢推廣服務(wù)公司
  • 廣州技術(shù)支持 網(wǎng)站建設(shè)清遠(yuǎn)疫情防控措施
  • wordpress中文tag優(yōu)化設(shè)計答案五年級上冊
  • 廣州做網(wǎng)站建設(shè)哪家專業(yè)百度頁面
  • 中國建設(shè)招標(biāo)網(wǎng)住建部網(wǎng)站seo免費推廣軟件
  • 怎樣做p2p網(wǎng)站福建百度推廣
  • 網(wǎng)站正在建設(shè)中 英語翻譯seo體系百科
  • 群暉 nas 做網(wǎng)站自媒體平臺注冊官網(wǎng)
  • 網(wǎng)站建設(shè)初衷宣傳推廣網(wǎng)絡(luò)推廣
  • 西部數(shù)碼網(wǎng)站源碼正規(guī)的代運營公司
  • wordpress多站點無css百度推廣競價排名
  • wordpress允許游客支付seo流量是什么
  • 網(wǎng)站建設(shè)(中企動力)頂尖文案
  • 深圳網(wǎng)站設(shè)計公司電商培訓(xùn)機(jī)構(gòu)靠譜嗎
  • 漂亮的博客網(wǎng)站模板汕頭seo代理
  • 杭州 專業(yè)網(wǎng)站建設(shè) 網(wǎng)絡(luò)服務(wù)廣東疫情最新通報
  • 做公司網(wǎng)站的推廣工作怎樣成都私人網(wǎng)站制作
  • 做網(wǎng)站需要哪些軟件電商項目策劃書
  • 集約化網(wǎng)站建設(shè)淘寶推廣費用多少錢一天
  • 建網(wǎng)站wordpress百度推廣開戶公司
  • 長春做網(wǎng)站 長春萬網(wǎng)關(guān)鍵詞推廣操作
  • 做動態(tài)網(wǎng)站有什么較好的主題seo外貿(mào)公司推廣
  • 做電子的外單網(wǎng)站有哪些的交換友情鏈接平臺
  • 網(wǎng)站右下角彈出廣告代碼semantic scholar
  • 網(wǎng)站建設(shè)如何就接入支付寶推廣平臺app
  • 如何查看網(wǎng)站訪問日志文件網(wǎng)頁優(yōu)化公司