waylau / lite-book-demos

《大型互联网应用轻量级架构实战》示例源码

Home Page:https://waylau.com/books/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

《大型互联网应用轻量级架构实战》示例源码

内容简介

本书主要是介绍基于Maven、Jetty、Spring框架、Spring MVC、Spring Security、MyBatis、MySQL、Angular、NGINX、Redis、Spring Boot等开源技术栈搭建应用框架并快速实现互联网应用的过程。这些技术并未完全遵守传统的JEE所提供的规范,却被广大互联网公司所采用,其原因正是一种反传统的“轻量级”开发模式深入人心。所谓轻量,指的是抛弃墨守成规、面向规范的臃肿开发方式,转而采用开源的、重视解决具体问题的技术框架。

本书将带领读者从0开始搭建一个可以实现Web互联网应用的开发框架,命名为“Lite”。通过学习Lite轻量级框架的搭建过程,便于读者深刻理解Spring、MyBatis、MySQL等技术原理及实现方式,令读者具备架构软件的能力。同时,在Lite框架的基础上,还会继续实现一个“新闻头条”大型互联网应用,真正实现技术落地。

本书主要面向对Web开发、分布式系统、微服务开发感兴趣的计算机专业的学生、软件开发人员和系统架构师。

写作背景

随着云计算的普及、Cloud Native应用开发模式将会深入人心,这意味着未来的应用将会朝着快速迭代、分布部署、独立运行等方面发展,敏捷、轻量的框架也必将会受到更多开发者的青睐。为此笔者开发了Lite框架,以用于简化Web开发。

Lite框架抛弃了墨守成规、面向规范的臃肿开发方式,转而采用开源的、重视解决具体问题的技术。这些技术包括了Maven、Jetty、Spring框架、Spring MVC、Spring Security、MyBatis、MySQL、Angular、NGINX、Redis、Spring Boot等等,可以说都是当今互联网公司主流应用技术,经受住了大规模商业实践的考验。

读者通过学习Lite的框架搭建以及开发基于Lite的互联网应用的过程,能够深刻领会上述技术的底层原理,掌握实现软件架构的能力,提升自己在市场的竞争力。

全书分为以下部分:

  1. 基础:介绍Spring、MyBatis、MySQL等开源技术栈。涉及技术包括Maven、Jetty、Spring框架、Spring MVC、Spring Security、MyBatis、MySQL、Angular、NGINX、Redis、Spring Boot等。
  2. 进阶:从0开始搭建一个可以实现Web互联网应用的开发框架“Lite”。
  3. 实战:基于Lite实现一个“新闻头条”互联网应用。
  4. 提升:介绍Spring Boot等技术,通过Spring Boot来继续简化Lite框架。

源代码

本书提供源代码下载,下载地址为https://github.com/waylau/lite-book-demos samples目录下。

本书所涉及的技术和相关版本

技术的版本是非常重要的,因为不同版本之间存在兼容性问题,而且不同版本的软件所对应的功能也是不同的。本书所列出的技术在版本上相对较新,都是经过笔者大量测试的。这样读者在自行编写代码时,可以参考本书所列出的版本,从而避免版本兼容性所产生的问题。建议读者将相关开发环境设置得跟本书一致,或者不低于本书所列的配置。详细的版本配置如下:

  • JDK 9
  • Eclipse Java EE IDE for Web Developers 4.8.0
  • Tomcat 9.0.13
  • Servlet 4.0.1
  • Jetty 9.4.14.v20181114
  • Spring 5.1.5.RELEASE
  • Spring Web MVC 5.1.5.RELEASE
  • Jackson JSON 2.9.7
  • Spring Security 5.2.0.BUILD-SNAPSHOT
  • MyBatis 3.4.6
  • Mybatis Spring 1.3.2
  • MySQL Community Server 8.0.12
  • Apache Commons DBCP 2.5.0
  • JUnit Jupiter Engine 5.3.2
  • logback 1.2.3
  • SLF4J 1.7.25
  • NGINX 1.15.8
  • Angular 7.0.6
  • Redis 3.2.100
  • Spring Data Redis 2.1.4.RELEASE
  • Jedis 2.10.2
  • Spring Boot 2.1.2.RELEASE
  • MyBatis Spring Boot Starter 2.0.0

本书示例采用Eclipse编写,但示例源码与具体的IDE无关,读者可以选择适合自己的IDE,如IntelliJ IDEA、NetBeans等。运行本书示例,请确保JDK版本不低于 JDK 9。

勘误和交流

与该源码配套的书籍《大型互联网应用轻量级架构实战》已经出版,内容详见全书目录

本书如有勘误,会在https://github.com/waylau/lite-book-demos/issues上进行发布。笔者在编写本书的过程中,已竭尽所能地为读者呈现最好、最全的实用功能,但错漏之处在所难免,欢迎读者批评指正,也可以通过以下方式直接联系我们。

您也可以上豆瓣给老卫打Call。

致谢

感谢北京大学出版社的各位工作人员为本书的出版所做的努力。

感谢我的父母、妻子和两个女儿。由于撰写本书,牺牲了很多陪伴家人的时间,在此感谢家人对我工作的理解和支持。

感谢广大读者一如既往的支持。

如何获取本书

实体店及各大网店有售。据我所知有如下网站供应:

想低于市价得到本书?来二手书集市试试看。

也可以直接关注我博客(https://waylau.com/)或者我的开源书(https://waylau.com/books/)了解更多免费咨询。

联系作者

您也可以直接联系我:

其他书籍

若您对本书不感冒,笔者还写了其他方面的超过一打的书籍(可见https://waylau.com/books/),多是开源电子书。

本人也维护了一个books-collection项目,里面提供了优质的专门给程序员的开源、免费图书集合。

开源捐赠

开源捐赠

捐赠所得所有款项将用于开源事业!见捐赠列表