Spring框架是每一位Java开发人员的必修课,而阅读源码是学习spring的最好方式之一。可是还是有很多人开发了好几年,还是不会读源码,甚至还有些人都没有看过源码。
为什么阅读源码:
1、优秀源码的设计思想以及实现方式都是相通的,一旦掌握,就可以举一反三,一通百通;
2、任何一款源码都经历了多年发展和提炼,其复杂程度和完美程度都远远超越我们日常开发的项目;
3、很多源码都出自大师级开发人员之手,提供了各种先进的、精妙得解决问题的思路和方法,值得借鉴;
4、在软件中,架构才是本质。阅读源码可以迅速看清项目整体框架的面貌,帮助读者快速提升开发技能。
像阿里巴巴,亚马逊,谷歌,微软等在内的所有科技巨头对Spring都有很大的贡献,因此Spring经常在大厂面试的时候被问到,下面我选了几道关于pring源码的面试题,看大家能不能回答出来:
- IOC源码主要流程
- bean相互依赖注入问题
- 为什么要使用spring
- Spring事务在controller层不起作用的原因
- 如何用基于 Java 配置的方式配置 Spring
- Spring的几种注入bean的方式
一共四份,分别是:
- Spring 高级源码笔记
- Spring Boot 核心笔记
- springcloud alibaba 笔记
- SpringCloud 微服务架构核心笔记
第一份:Spring 高级源码笔记
- Spring 概述
- 核心思想
- 手写实现 IoC 和 AOP
- Spring IOC 应用
- Spring IOC 源码深度剖析
- Spring AOP 应用
- Spring AOP 源码深度剖析
第二份:Spring Boot 核心笔记
- Spring Boot 入门
- 配置文件
- 日志
- Web 开发
- Docker
- SpringBoo 与数据访问
- 启动配置原理
- 自定义 starter
- 更多 SpringBoot 整合示例
第三份:springcloud alibaba 笔记
- 微服务介绍
- 微服务环境搭建
- Nacos Discovery--服务治理
- Sentinel--服务容错
- Gateway--服务网关
- Sleuth--链路追踪
- Rocketmq--消息驱动
- SMS--短信服务
- Nacos Confifig--服务配置
- Seata--分布式事务
- Dubbo--rpc 通信
第四份:SpringCloud 微服务架构核心笔记
1,注册与发现篇(Eureka,Ribbon)
- 微服务基础知识
- SpringCloud 概述
- 案例搭建
- 服务注册 Eureka 基础
- 服务注册 Eureka 高级
- Eureka 替换方案 Consul
- 服务调用 Ribbon 入门
- 服务调用 Ribbon 高级
2,Spring Cloud Netflix 篇(Feign,Hystrix)
- 服务调用 Feign 入门
- 服务调用 Feign 高级
- 服务注册与发现总结
- 微服务架构的高并发问题
- 服务熔断 Hystrix 入门
- 服务熔断 Hystrix 高级
- 服务熔断 Hstrix 的替换方案
3,微服务网关篇(基于 Nginx,微服务网关 Zuul,微服务网关 GateWay)
- 微服务网关概述
- 微服务网关 Zuul
- 微服务网关 GateWay
- 微服务的链路追踪概述
4,Spring Cloud Stream 篇
- Spring Cloud Stream
- SpringCloud Config
- 开源配置中心 Apollo