前言

本篇文章给大家分享的内容是全栈技能修炼:使用Angular和Spring Boot打造全栈应用的技术文档。

全栈经过多年的发展,技术体系变得非常庞杂。看看层出不穷的技术知识图就知道了,但是你是否曾注意到很多同样的思想被到处套用?不仅在同一个技术体系内如此,跨体系的套用其实更加明显。

比如RxJS的事件流、后端的MessageQueue 与现在大热的Serverless架构在深层思想上有着千丝万缕的联系。有了这种眼光,你不仅可以更轻松地跨领域学习,更重要的是,你会拥有极为难得的预见力。而技术预见力,能让你领先别人三年。哪怕半路在树下睡一觉都不用怕。

当然,如果你是仍有着雄心壮志的青年,应该会更明白预见力的价值,有朝一日,你的预见力甚至不会再局限于技术。

与通常的理解不同,在我看来,全栈,不是特定技术的组合,而是一种思维方式,一种眼界。不知道大家怎么看?

全栈,就是技术的任督二脉。它把大量的技术思想贯穿在前后端这两条主线中。它们既有区别,又有联系。既不会抽象到让你找不到具体的例子去理解这些思想,也不会狭隘到让你只知其然而不知其所以然 。

总之,不要囿于门户之见。没有前端工程师,也没有后端工程师,一个有技术追求的程序员,首先要是一个工程师。工程师的思维与热忱,才是你最宝贵的财富。

本文将从目录、主要内容和总结三部分给大家系统的进行介绍,希望大家能够学习到新的技术知识和新的架构思维,并且能够灵活运用,希望大家能够喜欢!!

目录

 

主要内容

本文内容将用9章的内容给大家进行介绍:

第1章技术的选型和环境搭建;主要采用的技术选型原则:成熟的框架、活跃的社区、工程化的支持、采用统一 编程思想、快速开发的支持!

 

第2章使用Angular快速构造前端原型;本章会从Angular 的核心概念出发,2.1 节以一系列小例子阐释这些概念的意义和使用方法。有Angular基础的读者可以跳过或者摘选自己感兴趣的内容看。在2.2节中,我们会一起来认识Angular的官方UI组件库Angular Material,这是一套遵循谷歌Material Design风格的组件库。使用它的好处在于可以在组件标准化、动画、兼容性方面节省很大精力,即使你不熟悉CSS也可以做出很好看的UI效果。还会一起学习几个较常见的组件,当然只是最初的简单框架和页面,使用的是Angular Material组件库和Angular FlexLayout 布局库。2.3 节我们会一起学习Angular Material的主题支持,学会如何定制化主题。2.4 节使用容器来构建应用,我们不会专门去讲关于容器的知识,但在书中需要使用容器的地方会有相应说明。使用容器的原因是它可以让整个开发部署的流程更加自动化,提高生产效率。

 

第3章何谓后端;Spring Boot是Spring 框架的“脚手架”了,它可以帮你快速搭建、发布一个Spring应用。官网列出了Spring Boot的几个主要目标。

●提供一种快速和广泛适用的Spring 开发体验。

●开箱即用却又可以适应各种变化。

●提供一系列开发中常用的“非功能性”的特性(比如嵌入式服务器、安全、度量、自检及外部配置等)。

●不生成任何代码,不需要XML配置。

本文的后端服务主要使用SpringBoot进行搭建。

 

第4章登录鉴权功能的构建;其实,我们完全可以使用普通的CSS和HTML去构建一个Angular应用,而使用类似Angular Material 这种UI框架的好处在于,可以利用比较成型的UI组件快速开发,而不是花费精力重复制造轮子。所以在4.1节我们会继续学习几个Angular Material的组件,其中包括表单控件FormField和MatInput;布局控件GridList和Stepper;以及自定义表单控件的开发,我们会开发两个表单控件,图片选择器ImagePicker和验证手机号控件VerifyMobile。

本章要学习的不仅仅是Angular Material的一些知识,还要学习Angular的模块化、服务层的开发、响应式编程的概念,以及响应式编程框架RxJS,最后还会应用以上技巧打造一个较复杂的交互应用一一忘记密码。

 

第5章构建后端API;第3章只是对Spring Boot中的强大功能进行了一个大概介绍,本章我们会就登录鉴权API进行详细的讨论。

  • 5.1 HyperMedia API与传统API
  • 5.2 Spring Data中的查询
  • 5.3 Controller的构建
  • 5.4构建安全的API接口
  • 5.5跨域和API文档

 

第6章前端和API的配合;前面的章节中,我们是前端和后端分开介绍的,但在实际应用中,这两者是要配合起来的。后端作为内容资源的提供者,而前端作为这些资源的消费者,将资源以需要的形式展现给使用者,也就是我们的最终用户。

  • 6.1响应式的HTTP API处理
  • 6.2 RxJs进阶
  • 6.3 HTTP拦截
  • 6.4 Angular路由
  • 6.5安全守卫

 

第7章后端不只是API;前后端分离的是后端对于视图的渲染和路由功能被剥离给了前端,似乎后端的工作就只剩下了构建CRUD这种API了,事实真的是这样吗?后端处理工作其实远远不止是API,除非你想做的仅仅是为了配合前端搭建的一个“脚手架”。

剥离前端后,后端大部分的工作是真的比较“后端”了,因为实现的功能是没有用户界面的,比如性能、安全、搜索、数据的审计历史等。本章就来看看后端的这些功能,需要说明的是,这些功能是非常专业的,需要深入学习的,这里我们只是带大家一起开个头, 相关的细节需要我们一起在今后的工作中不断学习和体会。

 

第8章前端的工程化;今天的前端已经远远不是用一些简单HTML、CSS和JavaScript可以应对的了,越来越多的功能要求在前端实现,可以说前端的复杂度已经要求和Android 或iOs同等量级(如果不是更强)的生态支持了。所以我们看到了前端从JQuery这种类库级别的支持发展到类似Knockout.js的双向绑定机制,直到今天以Angular、 React 和Vue 为代表的各种框架级别的生态。

总体来看,目前的三大主流框架均具备以下特点。

●在开发模型上更接近传统的客户端编程,很多有客户端、移动端或后端开发经验的读者会感到使用这些框架时和自己以往的开发习惯非常类似。

.大量的函数式编程的应用使得前端的开发又区别于传统开发,即可以快速而漂亮地实现业务逻辑,但这确实也提高了门槛。当然这个函数式编程并不是必须要做的,但如果掌握了,就可以更漂亮、简捷地写出“健壮”的代码逻辑。

●内建或社区提供的UI、路由、状态管理等生态支持。

其中,Angular 在几大框架中属于“大而全”的风格,好处就是官方提供了包括CLI、路由、动画、服务端渲染、UI等支持,是选择恐惧症患者的福音。在风格上非常类似于Java、.Net, 如果你有相关语言背景,那么入门是极快的。但有利就有弊,这也使得没有面向对象经验的读者会觉得Angular 比其他框架要难。从工程支持上来说,Angular 更适合大型团队做大型工程,而Vue适合更轻量级的快速开发。

 

第9章Spring Cloud打造微服务;Spring Cloud是一个基于Spring Boot实现的云应用开发环境,它为基于Java的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发环境和模式。

Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring CloudConfig、Spring Cloud Netlix (包括Eureka、 Hystrix、 Zuul 等Nttlix 全家桶)、Spring Cloud Gateway、Spring Cloud AWS、Spring Cloud Security、 Spring Cloud Commons、Spring Cloud Zookeeper、Spring Cloud CLI等项目。

 

这份【全栈技能修炼使用Angular和SpringBoot打造全栈应用】共有526页,需要完整版的朋友,可以转发此文关注小编,扫码来获取!!

大牛专家力荐

本文覆盖了前、后端的技术,前端用Angular, 后端基于最新的Spring Boot技术栈。

读者读完这本文可以在单兵作战的情况下开发出完整的业务系统,这也是我一直在做的事情。

虽然现在的技术分工越来越细,但是从个人职业发展的角度出发,我还是强烈建议朋友们做一个真正的全栈开发者。

希望本文能够帮助到大家的学习,也希望大家能够把里面的技术全部掌握到自己手里面,并且能够灵活运用,不断地提升自己的技术广度和深度,让自己变得更加有价值!!

愿你走出半生,归来仍是少年!

奋斗,成就更好的自己!