摘要:
本文主要是对 Spring 的核心技术和产品理念做了梳理,可以作为学习 Spring 的索引参考,最好的学习资料就是官方的帮助文档。这些知识点对于深入掌握 Spring 是非常有必要的,平时工作中老兵哥经常要帮同事分析定位技术问题,在它们的帮助下分析定位问题会更加游刃有余。同时,产品设计理念和运营策略对于老兵哥推广微服务框架也非常有借鉴意义,如何从零开始去推广一套应用开发框架,读者朋友们也可以考虑将这些策略运用在其他产品上。考虑到我们每个人的工作学习情况不同,平时遇到的问题也不同,本文内容无法覆盖所有人遇到的问题,欢迎大家留言提问,也欢迎关注「 IT老兵哥 」交流互动,谢谢! 阅读全文
摘要:
Spring 家族变得越来越庞大,包括 Spring Framework、Spring Boot、Spring Cloud 等,如果我们对它没有一个全局的认知,那我们很容易迷失在技术细节当中,也用不好这款产品。本文是作者参与公司微服务框架研发过程中积累的经验认知,可以作为 Spring Cloud 知识体系的索引,后续可以根据它深入学习某个特性。 阅读全文
摘要:
在穿越了 Web 容器和 Web 应用之后,HTTP 请求将被投送到 Spring 框架,我们继续剖析后续流程。Web 应用与 Spring MVC 的衔接是通过配置文件 mvc-servlet.xml 完成的,我们通过这份配置文件定义构成 Spring MVC 的各种核心组件和初始化配置,其中包括:控制器 Controller、视图解析器 ViewResolver、视图 View 等等。不同组件分别承担不同的功能,在介绍 Spring 框架处理 HTTP 请求流程之前,我们照例先了解一下这些核心组件。 阅读全文
摘要:
Web 容器以进程的方式在计算机上运行,我们知道进程是系统资源分配的最小单元,线程是系统任务执行的最小单元。从这个角度看,Web 容器就像是邮包收件人所居住的楼宇或小区,HTTP 这套物流快递体系只能将邮包投递到楼宇前台或者小区物业等处,而楼宇前台或小区物业并不属于物流快递体系,就像 Web 容器并不属于计算机网络基础设施一样。
之所以这样分工,原因是网络路由信息由域名服务器 DNS、路由器等设备掌握,Web 容器内部体系结构信息只有它自己知道。从 Web 容器接收到 HTTP 请求,到将其投送至特定的应用,这期间还会经历一个复杂的过程,了解这个过程对于日常开发和问题分析都会有所帮助。接下来,老兵哥我将陪着你一起来剖析这个过程。 阅读全文