80W美团架构师整理分享出了Spring5企业级开发实战文档
Posted 程序员高级码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了80W美团架构师整理分享出了Spring5企业级开发实战文档相关的知识,希望对你有一定的参考价值。
前言
Spring作为一个互联网公司的必备框架,由Rod Johnson创建。
它是为了解决企业应用开发的复杂性而创建的,为应用提供一站式(one-stopshop)的解决方案。
Spring的发展日新月异,已经进化到了5.0的阶段,本文除了透彻地介绍了Spring标准的模块之外,把5.0的新特征很翔实地展示给了读者,实例也很精炼,此外,Spring和其他模块集成的快速体验也实战化,给读者能快速地实战落地提供了良好的指导。
本文很好地讲述了Spring 5在实际开发应用场景中的各种重要核心技术和最新实用技术,深入浅出地论述了每个技术的应用场景,解释深入,通俗易懂。不仅适合入门者系统地学习Spring技术,也适合有一定工作经验的人来加强和深入对Spring的理解,是质量很高的Spring技术好文。
本文将从目录、主要内容包含的具体章节、总结三部分给大家进行介绍,希望大家能够仔细阅读,并且能够吸收,也希望大家能够喜欢!!
目录
主要内容
全文总共包含三大部分,19章的内容和一个附录,具体内容接下来给大家来介绍:
第一篇Spring基础篇;
第1章环境搭建;本章主要介绍了Spring 技术体系的构成,并初步讲解了构建Spring项目需要用到的一些开发工具的安装和使用。通过Spring构建一个简单的Spring MVC项目,再通过浏览器访问Spring MVC项目提供的HTTP接口,即可打印文字,例如Hello World。下一章将讲解Spring框架的核心概念——loC。
第2章Spring loC容器原理;本章主要介绍了Spring框架最核心的概念之一——loC,并通过案例讲解了loC的实现方式,从Spring 代码入手,分析了Spring loC容器的启动过程,并通过案例讲解了Spring loC容器中 Bean的生命周期,至此Spring核心loC分析完毕。下一章将讲解Spring框架的另一个核心概念——AOP。
第3章Spring AOP揭秘;本章讲解了Spring核心功能AOP的使用,并通过对代码的分析,揭示了JDK动态代理和CGLIB动态代理的实现原理。下一章将介绍 Spring 5的新特性。
第二部分是 Spring 5高级特性篇;
第4章Spring 5新特性概述;
第5章Java 8新特性概述;本章主要介绍了Java8重要的新特性,我们在使用Spring 5编程和创建项目都会用到,希望大家了解和掌握。
第6章Spring WebFlux响应式编程;本章讲解Spring 5新特性之Spring WebFlux响应式编程,WebFlux可以作为Spring MVC的替代方案,以异步非阻塞的方式实现编程,从而提高系统性能。Spring WebFlux依赖于Reactor,本章6.3节介绍的是 Reactor 的一些入门知识,如需更多Reactor高级特性参考Reactor官网。
第7章WebClient响应式客户端;本章介绍与Spring WebFlux 配套使用的客户端工具 WebClient,并对比 RestTemplate 与WebClient的使用,介绍了使用了WebClient一些常见的与Http请求相关的方法。通过使用WebFlux可以更加方便地对WebFlux响应式编程进行运行和调试。
第8章Spring 5结合Kotlin编程;Kotlin 允许开发者使用简洁而优雅的代码来实现与Java同样的功能,同时提供对现有的Java类库的互操作性。Spring框架提供了Kotlin支持,使得 Java开发可以方便地使用Kotlin,同时也允许Kotlin开发者无缝使用Spring框架。
第9章Spring 5更多新特性;Spring 5对 HTTP/2的支持和对Junit 5的支持将带给开发者更好的用户体验,提升开发者的开发效率。
第三部分是Spring系统集成篇,
第10章Spring集成Log4j2;本章介绍SLF4J与Log4j2配合使用的原理,并介绍了门面设计模式的相关知识,更多有关设计模式的知识请参见本书附录。
本章10.3节实战演练部分介绍了常见的企业开发中的Log4j2的配置,读者可以将其中的配置运用到自己的生产实践中,输出更丰富的系统运行中的日志,为监控系统稳定性提供更好的保障。
第11章Spring集成Spring MVC;Spring MVC是企业开发过程中应用最多的Web层框架,Spring MVC 在面试中也经常被问到的,并且大部分面试题的侧重点是有关Spring MVC底层原理和对Spring MVC代码的学习。因此本章对Spring MVC代码的解析是十分有必要的。
第12章Spring集成MyBatis;MyBatis是企业开发中最常用的ORM框架之一,本章通过MyBatis 与Spring、Spring MVC集成阐述了一个常见的企业开发中使用MyBatis 的场景;并通过对 MyBatis 的底层代码分析阐述了MyBatis的运行原理。
第13章Spring事务管理;Spring事务管理是企业开发中常用的技术,理解Spring事务管理的代码对于理解Spring 事务管理有很大帮助。本章涉及的Spring事务隔离级别、Spring事务传播行为以及 Spring 事务代码分析都是常见的面试题,希望读者务必掌握。
第14章Spring集成Redis;Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存也可以持久化的Key-Value数据库。
Redis在企业开发中通常充当高速缓存的作用,用于保护接口或者数据库。在高并发场景、分布式场景下也可以充当分布式锁,避免多个JVM进程在同一时间对同一资源进行修改,从而造成数据不一致。
因为Redis是开发中最常用的缓存技术,本章将重点分析 Redis常见操作命令和Redis常见架构以及 Spring 与 Redis 的集成开发。
第15章Spring集成ZooKeeper;ZooKeeper是开放代码的分布式协调服务框架,是一个为分布式应用提供一致性服务的组件。在分布式环境中协调和管理服务是一个非常复杂的过程,ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper 允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。
本章讲解了ZooKeeper集群的部署以及Spring 与ZooKeeper 的集成开发。ZooKeeper在企业开发中是常用的分布式协调服务。熟练使用ZooKeeper对分布式环境中系统解耦和系统高可用性有很大帮助。
第16章Spring集成Kafka ;Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统。Kafka具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在企业架构设计中起到解耦、削峰、异步处理的作用。
Kafka在企业开发中扮演着非常重要的角色,常见的使用场景如下。
(1)日志收集。企业开发中可以使用Kafka收集各种服务的日志,通过Kafka以统一接口服务的方式开放给各种消费者使用,如 Hadoop、Hbase和Solr 等。
(2)消息系统。将生产者和消费者解耦,常用于支付或订单场景系统解耦。
(3)用户行为跟踪。Kafka可用于记录Web用户或者App用户的各种行为,如网页浏览、商品检索和“点击”等活动。这些活动信息被各个服务器发布到Kafka对应的Topic中,然后订阅者通过订阅这些Topic来做实时的监控分析,或者装载到Hadoop或数据仓库中做离线分析和挖掘。
(4)Kafka也经常用来记录运维监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。
(5)流式处理。比如 Spark Streaming和 Storm等。
第17章Spring集成Mycat;Mycat隐藏了分库分表的细节,从开发人员的角度看,在无须知道具体哪个库的哪张分表进行操作的情况下,应用程序即可对数据库进行操作。对于一些老项目,引入 Mycat进行分库分表,无须修改业务代码,只需要修改JDBC连接即可实现项目的升级。
第18章Spring集成Sharding-JDBC;Sharding-JDBC是开源的数据库中间件。Sharding-JDBC定位为轻量级数据库驱动,由客户端直连数据库,以jar包形式提供服务,没有使用中间层,无须额外部署,无须其他依赖.Sharding-JDBC可以实现旧代码迁移零成本的目标。Sharding-JDBC与.MyCat 不同,MyCat 本质上是一种数据库代理。
Sharding-JDBC 与 Mycat类似,都是分库分表中间件。Mycat 以代理的形式提供数据库服务,对应用程序完全透明。Sharding-JDBC采用在JDBC协议层扩展分库分表,是一个以jar包形式提供服务的轻量级组件。读者可以根据具体场景选择使用合适的分库分表组件。
第19章Spring集成 Dubbo;Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,Dubboo使应用可通过高性能的RPC 实现服务的输出和输入功能,并且可以与Spring框架无缝集成。
Dubbo是互联网公司微服务开发的利器,熟练掌握Dubbo对企业微服务架构演进和升级有重要的意义。
总结
本文由13位专家力荐!
全文理论与工程实践相结合,全面阐述Spring5的新特性;从Spring实战到源码分析,再到原理剖析,以及Spring与各种主流中间件及框架结合的落地实践,可以让读者深入理解Spring的实现原理和底层架构,使用Spring的强大功能至上而下地构建复杂的Spring应用程序。
需要这份543页【Spring5企业级开发实战】文档的小伙伴,可以转发此文关注小编,扫码来获取!!!
以上是关于80W美团架构师整理分享出了Spring5企业级开发实战文档的主要内容,如果未能解决你的问题,请参考以下文章
85W美团架构师分享深入解析Java虚拟机HotSpot文档
阿里年薪80W架构师2W字多线程进阶(线程池原子性并发工具类)超详细笔记
年薪80W的架构师总结:性能优化其实不难,记住这十条策略就够了