官术网_书友最值得收藏!

1.2 Vue.js+Spring Boot全棧開發周邊技術棧的組成

為了構建大型Web應用,除常使用Vue.js+Spring Boot全棧開發架構的兩種核心技術外,業界還常使用Naive UI、md-editor-v3、Nginx、Spring Security、Spring MVC、Spring Data、Hibernate、H2、MySQL等周邊技術。

1.2.1 Naive UI

Naive UI是一款支持Vue.js 3的前端UI框架,有超過70個組件,可有效減少代碼的編寫量。

Naive UI全量使用TypeScript編寫,因此可以和TypeScript項目無縫銜接。

Naive UI具備如下特性。

  • 比較完整。Naive UI有超過70個組件,能使用戶少寫一點代碼,且它們全都支持Tree Shaking(搖樹優化)。
  • 主題可調。Naive UI提供使用TypeScript構建的先進的類型安全主題系統。用戶只需要提供一個樣式覆蓋的對象,剩下的操作都交給Naive UI完成即可。
  • 使用TypeScript。Naive UI使用TypeScript編寫而成,可以與TypeScript無縫銜接。順便一提,它不需要導入任何CSS代碼就能讓組件正常工作。
  • 界面渲染速度快。select、tree、transfer、table、cascader等組件都支持按需顯示可以根據用戶的滾動渲染可視區域內的一部分列表元素,而不必渲染所有列表項。

在Vue.js+Spring Boot全棧開發架構中,Naive UI將與Vue.js一起構建炫酷的UI。

1.2.2 md-editor-v3

Markdown是一種可使用普通文本編輯器編寫的標記語言。通過簡單的標記語法,它可以使普通文本內容具有一定的格式。因此在內容管理類的應用中,經常采用Markdown編輯器來編輯文本內容。

md-editor-v3是一款Markdown插件,能夠將Markdown格式的內容渲染成HTML(Hypertext Markup Language,超文本標記語言)格式的內容。最為重要的是,md-editor-v3是支持Vue.js 3的,因此其與Vue.js 3應用有著良好的兼容性。

在Vue.js+Spring Boot全棧開發架構中,md-editor-v3將與Vue.js一起構建內容編輯器。

1.2.3 Nginx

在大型Web應用中,經常使用Nginx作為Web服務器。

Nginx是免費的、開源的、高性能的HTTP服務器和反向代理,同時也是IMAP(Internet Message Access Protocol,因特網消息訪問協議)/POPv3(Post Office Protocol version 3,郵局協議第3版)代理服務器。Nginx以其高性能、穩定性、豐富的功能集、簡單的配置和低資源消耗而聞名。

Nginx是市面上為解決C10k問題而編寫的僅有的幾個服務器之一。與傳統服務器不同,Nginx不依賴于線程來處理請求。相反,它使用可擴展的事件驅動(異步)架構,這種架構在高負載場景下使用小的,但更重要的是可預測的內存量。即使在需要處理數千個并發請求的場景下,用戶仍然可以從Nginx的高性能和占用內存少等方面獲益。可以說Nginx在各個場景都能使用,從最小的VPS(Virtual Private Server,虛擬專用服務器)一直到大型服務器集群。

在Vue.js+Spring Boot全棧開發架構中,Nginx承擔著Vue.js應用部署以及負載均衡的任務。

1.2.4 Spring Security

Spring Security為基于Java EE的企業級應用程序提供全面的安全服務。特別是使用Spring框架構建的項目,用戶可以使用Spring Security來加快構建的速度。

Spring Security的出現有很多原因,主要是基于Java EE的Servlet規范或EJB(Enterprise JavaBean,企業級JavaBean)規范對企業級應用缺乏安全性方面的支持。而Spring Security解決了這些問題,并帶來了數十個有用的可自定義的安全功能。

有關Spring Security的詳細內容,讀者可參閱筆者所著的《Spring Security教程》。

1.2.5 Spring MVC

Spring MVC是Spring提供的基于MVC(Model-View-Controller,模型-視圖-控制器模式)的輕量級Web開發框架,本質上相當于Servlet。

Spring MVC角色劃分清晰,分工明確。由于Spring MVC本身就是Spring框架的一部分,因此它可以與Spring框架無縫集成。

在性能方面,Spring MVC具有先天的優越性,它是當今業界最主流的Web開發框架之一,也是最熱門的開發技術之一。

一個好的框架要減輕開發人員處理復雜問題的負擔,在內部有良好的擴展,并且有支持它的龐大用戶群體,Spring MVC恰恰都做到了。

有關Spring MVC的詳細內容,讀者可參閱筆者所著的《Spring 5開發大全》。

1.2.6 Spring Data

Spring Data的使命是為數據訪問提供熟悉且一致的、基于Spring的編程模型,同時仍保留底層數據存儲的特征。

Spring Data使使用數據訪問技術、關系型數據庫和非關系型數據庫、MapReduce框架以及基于云的數據服務變得容易。

1.2.7 Hibernate

Hibernate是一個開放源碼的ORM(Object Relational Mapping,對象關系映射)框架,它對JDBC(Java Database Connectivity,Java數據庫互連)進行了輕量級的對象封裝,并將POJO(Plain Ordinary Java Object,簡單的Java對象)與數據表建立映射關系。Hibernate可以自動生成SQL(Structured Query Language,結構查詢語言)語句并自動執行,使得Java程序員可以隨心所欲地使用對象編程思維來操縱數據庫。

Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序中使用,也可以在Servlet/JSP(Java Server Pages,Java服務器頁面)的Web應用中使用。最具革新意義的是,Hibernate可以在應用EJB的Java EE架構中取代CMP(Container-Managed Persistence,容器管理持久化),完成數據持久化的重任。

1.2.8 H2

H2是一款開源的嵌入式數據庫,采用Java語言編寫,不受平臺的限制。

同時H2提供了一個十分方便的Web控制臺用于操作和管理數據庫內容。

H2還提供兼容模式,可以兼容一些主流的數據庫,因此采用H2作為開發期的數據庫非常方便。

H2作為一款嵌入式的數據庫,它最大的好處就是可以嵌入Web應用,與Web應用綁定在一起,成為Web應用的一部分。

有關H2的詳細內容,讀者可參閱筆者所著的《H2 Database教程》。

1.2.9 MySQL

MySQL是知名的開源關系型數據庫。MySQL 8為用戶帶來了全新的體驗,例如支持NoSQL、JSON(JavaScript Object Notation,JavaScript對象簡譜)等,擁有MySQL 5.7兩倍以上的性能提升。

圖1-1是2021年—2022年的數據庫流行度排行結果。從圖1-1中可以看到,MySQL在開源關系型數據庫中是排行第一的。

圖1-1 2021年—2022年的數據庫流行度排行結果

主站蜘蛛池模板: 衡阳县| 沭阳县| 漯河市| 金乡县| 开阳县| 牡丹江市| 巴塘县| 平顶山市| 丹凤县| 托克逊县| 留坝县| 英德市| 灵山县| 延长县| 曲周县| 藁城市| 盘山县| 颍上县| 巍山| 玉溪市| 内乡县| 逊克县| 田林县| 华宁县| 湾仔区| 琼结县| 三亚市| 特克斯县| 繁峙县| 宜阳县| 鄂州市| 依兰县| 隆化县| 苏尼特右旗| 株洲县| 磐石市| 霍城县| 清徐县| 常熟市| 岑溪市| 唐山市|