
手写Spring
文章平均质量分 64
从零开始,手写一个Spring框架
克拉克盖博
Gone with the Wind
展开
-
chapter32_SpringMVC与DispatcherServlet
从本章节开始进入SpringMVC的学习,SpringMVC最重要的类就是DispatcherServletDispatcherServlet的本质是一个Servlet,回顾一下Servlet。原创 2025-04-16 03:22:42 · 572 阅读 · 0 评论 -
chapter21_简化MethodInvocation
本章我们简化MethodInvocation的逻辑,将cglib与jdk动态代理的内容,统一封装到ReflectiveMethodInvocation。原创 2025-03-06 07:46:13 · 221 阅读 · 0 评论 -
chapter16_三级缓存与提前AOP
AOP的位置,很关键之前是在initializeBean里面进行AOP现在引入了三级缓存,将AOP代码放到三级缓存一旦发生循环依赖,就会将三级缓存移动到二级。原创 2025-02-20 18:22:36 · 806 阅读 · 0 评论 -
chapter14_@Autowired与@Value
Autowired可以写在构造器、属性、方法上面本章只实现属性注入@Qualifier根据name注入@Inherited@Value可以写在属性、方法、参数上面本章只实现属性注入。原创 2025-02-18 01:40:46 · 573 阅读 · 0 评论 -
chapter09_Bean作用域和FactoryBean
本章节需要处理两个问题。原创 2025-02-16 01:49:25 · 254 阅读 · 0 评论 -
chapter10_事件监听
事件监听属于观察者模式,可以降低系统的耦合。原创 2025-02-16 01:41:24 · 270 阅读 · 0 评论 -
chapter15_Bean初始化后进行AOP
现在需要直接使用由Spring实例化策略(cglib或者simple)生成的对象,所以需要调整getTargetClass的逻辑。修改DefaultAdvisorAutoProxyCreator方法。之前的原始对象,是由代理直接使用构造器生成的。修改doCreateBean逻辑。准备Spring.xml文件。原创 2024-07-03 20:55:39 · 256 阅读 · 0 评论 -
chapter12_将AOP融入Spring
将AOP融入到Spring,依然是使用Bean后置处理器,最关键的类DefaultAdvisorAutoProxyCreator。原创 2020-07-28 16:56:34 · 146 阅读 · 1 评论 -
chapter11_实现AOP切面
类匹配接口通知是否应适用于给定的目标类别/***/> clazz);方法匹配接口通知是否应适用于给定的方法/***/切点接口返回类匹配器和方法匹配器/**/**切点表达式最终实现借助AspectJ实现,完成了扩展点一/*** 底层用来描述切入点原语*/static {/*** 保存解析后的切点表达式*//*** 构造方法,解析传入的切点表达式*//*** 类型匹配* @return*/@Override> clazz) {/**原创 2020-07-21 23:01:02 · 143 阅读 · 0 评论 -
chapter08_Aware感知容器对象
ApplicationContextAware需要特殊处理,因为DefaultListableBeanFactory是ClassPathXmlApplicationContext的一个属性,DefaultListableBeanFactory创建Bean的时候,无法拿到ApplicationContext,所以我们使用BeanFactoryPostProcessor来传递ApplicationContext。ApplicationContextAware,感知ApplicationContext。原创 2020-07-18 15:50:23 · 165 阅读 · 0 评论 -
chapter13_自动扫描@Component
用于指定Bean作用域的注解,一般默认就是singleton。原创 2020-07-18 15:31:34 · 140 阅读 · 0 评论 -
chapter20_环绕通知
继续将AOP扩展到环绕通知。原创 2020-07-14 21:54:36 · 292 阅读 · 0 评论 -
chapter19_后置通知(异常返回)
继续完成后置通知的另一个分支,异常返回后置通知。原创 2020-07-12 14:43:06 · 178 阅读 · 0 评论 -
chapter18_后置通知(正常返回)
在上一章节完成多个前置通知后,继续扩展到后置通知,包括。原创 2020-05-31 12:26:24 · 204 阅读 · 0 评论 -
chapter17_多个AOP切面
一、简介1.1 什么是Tomcattomcat是web服务器软件,将做好的web项目放入tomcat中运行。1.2 什么是Servlet二、相关概念回顾2.1 软件架构C/S:客户端/服务器B/S:浏览器/服务器2.2 资源分类静态资源:所有的用户看到的是同样的结果,可以直接被浏览器解析,例如html,css,JavaScript动态资源:不同的用户会看到不同的结果,需要先转化为静态资源,再返回给浏览器。例如Servlet/Jsp,php,asp2.3 网络通信三要素I原创 2020-05-27 19:30:20 · 321 阅读 · 0 评论 -
chapter22_使用标签自动注册creator
之前需要手动在spring.xml配置文件中配置一个的Bean,Spring才会自动开启AOP,现在我们希望只需要配置一个标签,就可以开启自动AOP。原创 2020-05-22 22:19:38 · 172 阅读 · 1 评论 -
chapter23_从@Aspect到Advisor
Aspect是高级切面,Advisor是低级切面,Spring会将一个Aspect转换成多个Advisor。原创 2019-10-27 22:07:02 · 473 阅读 · 0 评论 -
chapter24_解析@Around
笔者并不喜欢长篇累牍,本文试图通过精炼的语言,分享我使用Markdown的经验技巧,帮助新手快速入门。原创 2019-10-16 17:18:49 · 297 阅读 · 0 评论