写点什么

阿里内部进阶学习 SpringBoot+Vue 全栈开发实战文档

作者:三十而立
  • 2023-03-31
    湖南
  • 本文字数:3442 字

    阅读完需:约 11 分钟

前言

Spring 作为一个轻量级的容器,在 JavaEE 开发中得到了广泛的应用,但是 Spring 的配置烦琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速上手 Spring,利用 Spring 框架快速搭建 JavaEE 项目,Spring Boot 应运而生。

Spring Boot 带来了全新的自动化配置解决方案,使用 Spring Boot 可以快速创建基于 Spring 生产级的独立应用程序。Spring Boot 中对一些常用的第三方库提供了默认的自动化配置方案,使得开发者只需要很少的 Spring 配置就能运行一个完整的 Java EE 应用。Spring Boot 项目可以采用传统的方案打成 war 包,然后部署到 Tomcat 中运行。也可以直接打成可执行 jar 包,这样通过 java-jar 命令就可以启动一个 Spring Boot 项目。总体来说,Spring Boot 主要有如下优势:

  • ·提供一个快速的 Spring 项目搭建渠道。

  • ·开箱即用,很少的 Spring 配置就能运行一个 JavaEE 项目。

  • ·提供了生产级的服务监控方案。

  • 内嵌服务器,可以快速部署。

  • 提供了一系列非功能性的通用配置。

  • 纯 Java 配置,没有代码生成,也不需要 XML 配置。

Spring Boot 是一个“年轻”的项目,发展非常迅速,特别是在 Spring Boot 2.0 之后,许多 API 都有较大的变化,本文的写作基于目前最新的稳定版 2.0.4,因此需要 Java8 或 9 以及 Spring Framework 5.0.8.RELEASE 或更高版本,同时,构建工具的版本要求为 Maven 3.2+或 Gradle 4。

传统的 JavaEE 开发效率低下、配置臃肿、调试不便,严重制约了程序员的生产力。Spring Boot 致力于简化开发配置,并为企业级开发提供一系列非业务性功能;

而 Vue 则采用数据驱动视图的方式将程序员从烦琐的 DOM 操作中解救出来,利用 Spring Boot+Vue,可以快速开发出大型 SPA 应用。



本文致力于让读者快速掌握全栈开发基本技术栈,并能够快速、独立地开发出 SPA 应用。

希望大家能够仔细阅读本文,理解其中的真谛,并且能够吸收利用到工作中去!!

目录



主要内容

第 1 章 Spring Boot 入门, 本章主要向读者介绍了一个简单的 Spring Boot 项目的基本创建过程,从而让读者感受到 Spring Boot 的魅力。当一个 Spring Boot 项目创建成功之后,几乎零配置,开发者就可以直接使用 Spring 和 Spring MVC 中的功能了。第 2 章将向读者详细介绍 Spring Boot 的基础配置。



第 2 章 Spring Boot 基础配置, 本章主要向读者介绍了 Spring Boot 常见的基础性配置,包括依赖管理的多种方式,如入口类注解、banner 定制、Web 容器配置以及 Properties 配置和 YAML 配置等,这些配置将是后面章节的基础。第 3 章将向读者介绍使用 Spring Boot 整合视图层技术。



第 3 章 Spring Boot 整合视图层技术, 本章向读者介绍了 Spring Boot 整合视图层技术,选择了两个具有代表性的例子:Thymeleaf 和 FreeMarker。开发者用到其他模板技术时,整合方式和 Thymeleaf、FreeMarker 基本一致。如果开发者使用的是目前流行的前后端分离技术,那么在开发过程中不需要整合视图层技术,后端直接提供接口即可。第 4 章将向读者介绍 Spring Boot 整合 Web 开发的其他细节。



第 4 章 Spring Boot 整合 Web 开发, 本章向读者介绍了 Spring Boot 整合 Web 开发时一些常见、有用的配置。在这些配置中,大部分是 Spring MVC 的功能,只是在 Spring Boot 中做了自动化配置,少部分是 Spring Boot 自身提供的功能,例如 CommandLineRunner。第 5 章将向读者介绍 Spring Boot 整合持久层技术。



第 5 章 Spring Boot 整合持久层技术, 本章主要和读者分享了 Spring Boot 整合持久层技术,包括 JdbcTemplate、MyBatis 以及 SpringData JPA。其中,JdbcTemplate 使用得并不是很广泛;MyBatis 灵活性较好,方便开发者进行 SQL 优化;Spring Data JPA 使用方便,特别是快速实现一个 RESTful 风格的应用(将在第 7 章向读者介绍)。



第 6 章 Spring Boot 整合 NoSQL, 本章主要向读者介绍了 Spring Boot 整合 NoSQL 数据库以及结合 Redis 实现 Session 共享。对于 NoSQL 数据库,介绍了比较常见的两种:MongoDB 和 Redis。MongoDB 在一些场景中甚至可以完全替代关系型数据库,Redis 更多的使用场景则是作为缓存服务器(本书第 9 章将详细介绍 Redis 缓存),开发者可根据具体情况选择合适的 NoSQL。



第 7 章构建 RESTful 服务, 本章向读者介绍了 Spring Boot 构建 RESTful 服务,结合 Spring Data Rest、Spring Data JPA 以及 Spring Data MongoDB,Spring Boot 可以快速构建出一个基本的 RESTful 服务,而开发者可以结合具体情况选择关系型数据库或者非关系型数据库作为数据支撑。在一些常规功能的项目中,Spring Boot 的这些特性可以帮助开发者省去许多繁杂臃肿的配置。



第 8 章开发者工具与单元测试, 本章向读者介绍了 Spring Boot 中的开发者工具和单元测试,开发者工具的一个核心功能就是热部署,结合 LiveReload 可以极大地缩短开发者等待编译的时间,有效提高开发效率;单元测试则与 Spring 单元测试一脉相承,但是又增加了许多功能,同时简化了测试代码,使开发者极大地节省了测试的编码时间。本章对于单元测试只是介绍了一些常用功能,如果读者想了解完整的单元测试功能,可以参考 Spring Boot 官方文档单元测试一节。



第 9 章 Spring Boot 缓存, 本章向读者介绍了两种常见的缓存技术 Ehcache 和 Redis,其中 Redis 又分为单机缓存和集群缓存。Ehcache 部署简单,使用门槛较低,操作简便,但是功能较少,可扩展性较弱;Redis 则需要单独部署服务器,单机版的 Redis 缓存基本上做到了开箱即用,集群版的 Redis 缓存虽然配置烦琐,但是具有良好的扩展性与安全性,开发者在开发中可根据实际情况选择不同的缓存实现策略。



第 10 章 Spring Boot 安全管理, 本章主要向读者介绍了 Spring Security 以及 Shiro 在 Spring Boot 中的使用。对于 SpringSecurity,有基于传统认证方式的 Session 认证,也有使用 OAuth 协议的认证。一般来说,在传统的 Web 架构中,使用 Session 认证方便快速,但是,若结合微服务、前后端分离等架构,则使用 OAuth 认证更加方便,具体使用哪一种,需要开发者根据实际情况进行取舍。而对于 Shiro,虽然功能不及 Spring Security 强大,但是简单易用,而且也能胜任大部分的中小型项目。当然,在 SpringBoot 项目中,Spring Security 的整合显然要更加容易,因此可以首选 Spring Security。如果开发团队对 Spring Security 不熟悉却熟悉 Shiro 的使用,当然也可以使用 Shiro,这个要结合具体情况来定。



第 11 章 Spring Boot 整合 WebSocket, 本章主要向读者介绍了 Spring Boot 整合 WebSocket,整体来说,经过 Spring Boot 自动化配置之后的 WebSocket 使用起来还是非常方便的。通过 @MessageMapping 注解配置消息接口,通过 @SendTo 或者 SimpMessagingTemplate 进行消息转发,通过简单的几行配置,就能实现点对点、点对面的消息发送。在企业信息管理系统中,一般即时通信、通告发布等功能都会用到 WebSocket。



第 12 章消息服务, 本章向读者介绍了 Spring Boot 对消息服务的支持,传统的 JMS 和 AMQP 各有千秋,JMS 从 API 的层面对消息中间件进行了统一,AMQP 从协议层面来统一,JMS 不支持跨平台,而 AMQP 天然地具备跨平台功能。AMQP 支持的消息模型也更加丰富,除了本章介绍的 ActiveMQ 和 RabbitMQ 之外,Spring Boot 也能方便地整合 Kafka、Artemis 等,开发者可根据实际情况选择合适的消息中间件。



第 13 章企业开发, 本章向读者介绍了企业开发中一些常用的功能,如邮件发送、定时任务、批处理、Swagger 2 以及数据校验,这些功能都有非常广泛的使用场景,如用户注册、修改密码、定时备份、接口文档等,除了 Swagger2 外,其他 4 个功能在 Spring Boot 中都提供了相关的 Starter,简化了开发者的使用步骤,提高了开发效率。



第 14 章应用监控, 本章向读者介绍了 Spring Boot 项目中常见的应用监控,分别介绍了端点的配置以及监控数据的可视化,Spring Boot 提供的这一整套应用监控解决方案非常强大,在常规项目中稍微修改就可以直接用于生产环境了。邮件报警则可以使运维工程师及时获取应用的运行信息,特别是在应用程序下线时及时收到通知,尽早解决问题,避免造成损失。



第 15 章项目构建与部署, 本章主要向读者介绍了 Spring Boot 项目不同的打包方式,开发者可以使用传统的 WAR 包部署,也可以使用 Spring Boot 官方推荐的 JAR 包部署,两种部署方式各有优缺点,需要开发者根据实际情况选择合适的部署方式。



第 16 章微人事项目实战, 本章向读者介绍了一个微人事项目,主要从登录模块、动态加载用户菜单、员工资料模块、邮件发送模块、Excel 导入导出模块、在线聊天模块以及编译打包几个方面介绍。由于原项目代码量庞大,本章主要选取一些关键步骤进行介绍,完整代码读者可以在 GitHub 上下载,下载地址为。。。。



希望本文能够帮助到大家的学习,大家加油好好学习吧!!

需要的小伙伴 点击此处 即可

用户头像

三十而立

关注

还未添加个人签名 2023-02-06 加入

还未添加个人简介

评论

发布
暂无评论
阿里内部进阶学习SpringBoot+Vue全栈开发实战文档_三十而立_InfoQ写作社区