JoshSu Blog

用自己的语言将学习领会到的技术知识记录下来 留作纪念

学习基于Spring框架开发的核心功能源码时, 首先得清楚以下3个知识点

概要 学习基于Spring框架的核心功能源码时, 我认为首先得明白反射机制、Spring框架初始化流程以及单例bean实例化流程等相关知识细节。以便于学习其他优秀功能源码时, 才能明白为什么要那样做。 掌握了这些知识点, 仿照Spring框架手写一个简化版的IOC容器及MVC都是So Easy的事。 反射 Java反射机制是在运行状态中, 对于任意一个类, 都能够知道这个类的所有属性...

剖析JDK动态代理技术

为什么要写这篇博客? 很简单就是想把JDK动态代理技术以自己的语言描述清楚。 什么是JDK动态代理及哪些功能是基于JDK动态代理实现的? 什么是JDK动态代理? 关于概念的解释, 比如 什么是代理、什么是静态代理、什么是动态代理 大家就各自网上搜索了, 这里不做过多解释。 哪些功能是基于JDK动态代理实现? 比如 Spring AOP, 其中最常用的 @Transactional, ...

SpringBoot自动装配之SpringFramework手动装配

前言 最近在学习SpringBoot自动装配的实现原理, 通过一段时间的探索, 发现SpringBoot的自动装配是源于SpringFramework的手动装配。所以先对SpringFramework的手动装配做一个总结。 回顾SpringFramework手动装配如何使用 在我们刚开始接触Spring的时候, 要定义bean的话需要在xml中编写,比如: <bean id="...