# springym **Repository Path**: samubo/springym ## Basic Information - **Project Name**: springym - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-05 - **Last Updated**: 2022-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring Framework源码分析系列 ## 课堂源码 Spring源码: spring-framework 手写ioc: my-ioc api网关: api-gateway 中间件: yuanma-spring/mybaits-spring # Spring IoC专题 ## 1. IoC容器设计理念以及自动装配原理 主讲老师: fox老师 1. Spring IoC容器设计理念 2. Bean的装配方式,如FactoryBean,@Import,@Conditional应用 3. 自动装配注解,依赖注入方式和底层实现原理 4. Spring源码如何编译 ## 2. 手撕面试官系列之彻底搞懂Spring自动装配和依赖注入 主讲老师: fox老师 1. 深入理解FactoryBean, factoryBeanObjectCache和allBeanNamesByType的作用 2. @Configuration+@Bean,@Import,@Conditional 实现原理以及应用场景 3. 手动装配和自动装配的区别,自动装配模型Autowiring Modes 详解 4. 深入理解@Autowired,@Resource,@Inject注解,InjectedElement的作用 5. 依赖注入方式field,setter,constructor实现原理剖析 ## 3. Spring IoC容器主线源码分析 主讲老师: fox老师 - Spring源码应该如何阅读,源码阅读技巧分享 - Spring源码编译 - IoC容器启动主线源码分析 - Bean构建主线流程源码分析 ## 4. 深入理解BeanFactoryPostProcessor 主讲老师: fox老师 1. BeanFactoryPostProcessor,BeanDefinitionRegistryPostProcessor在ioc容器中的 作用以及扩展应用场景 2. Spring装配bean的注解(@Bean,@Import,@Componet+@ComponetScan)是如何解析的 3. ConfigurationClassPostProcessor源码剖析 4. @Configuration原理剖析 ## 5. ConfigurationClassPostProcessor源码剖析 主讲老师: fox老师 1. ConfigurationClassPostProcessor是如何解析(@Bean,@Import等)装配bean的注解,并完成beanDefition注册的? 2. 为什么@Configuration能解决方法bean之间依赖的多例问题,@Configuration修饰的配置类是如何完成cglib代理逻辑的? ## 6. Bean的生命周期&构建流程源码剖析 主讲老师:fox老师 1. Scope单例和原型的区别,原型bean是如何构建的 2. Bean的构建流程源码剖析 3. @Bean装配的方法bean如何构建,@Componet装配的bean又是如何构建的,构造器如何选择的 4. @Autowired自动注入底层如何实现 5. 自定义bean的初始化和销毁方法详解,@PostConstruct和InitializingBean的区别 ## 7. Bean的循环依赖源码剖析 主讲老师: fox老师 1. 什么是循环依赖?Spring是如何利用field,setter属性填充的方式解决循环依赖的 2. getSingleton&populateBean源码分析,三级缓存设计思想剖析 3. 为什么@Lazy能够解决构造器注入导致的循环依赖问题,和属性填充方式的区别又是什么? ## 8. 深入理解BeanPostProcessor 主讲老师:fox老师 1. BeanPostProcessor的作用和应用场景 2. 贯穿于bean的生命周期中的5大后置处理器10处调用的源码分析 ## 9. 深入理解BeanPostProcessor二 主讲老师:fox老师 1. 贯穿于bean的生命周期中的5大后置处理器10处调用的源码分析 2. Spring IoC容器工作原理系统性总结 3. 手写IoC,实现@Component+@ComponentScan装配和@Autowired注入功能 ## 10. Spring扩展实战 主讲老师: fox老师 1. mybatis-spring.jar 中间件如何实现mybatis和spring集成的 2. 基于spring扩展点手写实现中间件 3. 手写实现API网关,可无缝将普通的 Service方法转换成 http 接口 # Spring AoP专题 ## 11. Spring AOP源码分析 主讲老师: 源码学院fox老师 课程内容: 1. 什么是AOP,和OOP有什么区别,AOP工作原理详解 2. 设计模式代理模式:静态代理和动态代理实现 3. Spring AOP使用, 基于Spring auto-proxy 和基于 AspectJ pointcuts的实现 4. AOP核心源码分析 ## 12. Spring 事务原理剖析 主讲老师: 源码学院fox老师 课程内容: 1. 数据库事务ACID特性&事务隔离级别详解(脏读,不可重复读,幻读) 2. Spring编程式&声明式事务应用 3. 事务失效问题剖析 4. 事务传播机制详解 5. 事务源码分析 ## 13. 深入理解Spring MVC 主讲老师: 源码学院fox老师 课程内容: 1. Spring MVC设计思想 2. Spring MVC各大组件详解和执行流程分析 3. Spring MVC 零xml配置实现及其原理分析 4. Tomcat启动带动Spring IoC容器启动流程