购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

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具备如下特性。

在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在开源关系型数据库中是排行第一的。

61462-00-016-1

图1-1 2021年—2022年的数据库流行度排行结果 du0Mf51BWymRggy4PlD0haLOvltYi/QKVgzGZEvEdsGabdpC1OxlAG7h4BsgehF8

点击中间区域
呼出菜单
上一章
目录
下一章
×