本书主要是介绍基于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的互联网应用的过程,能够深刻领会上述技术的底层原理,掌握实现软件架构的能力,提升自己在市场的竞争力。
全书分为以下部分:
- 基础:介绍Spring、MyBatis、MySQL等开源技术栈。涉及技术包括Maven、Jetty、Spring框架、Spring MVC、Spring Security、MyBatis、MySQL、Angular、NGINX、Redis、Spring Boot等。
- 进阶:从0开始搭建一个可以实现Web互联网应用的开发框架“Lite”。
- 实战:基于Lite实现一个“新闻头条”互联网应用。
- 提升:介绍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
- 邮箱:waylau521(at)gmail.com
- 微博:http://weibo.com/waylau521
- 开源:https://github.com/waylau
若您对本书不感冒,笔者还写了其他方面的超过一打的书籍(可见https://waylau.com/books/),多是开源电子书。
本人也维护了一个books-collection项目,里面提供了优质的专门给程序员的开源、免费图书集合。
捐赠所得所有款项将用于开源事业!见捐赠列表。