回眸一笑百媚生,六宫粉黛无颜色。 概述 在前四篇,我们已经实现了使用Cglib实现了aop动态代理。但是在spring中如果代理对象实现了接口,则默认使用jdk动态代理,也可以通过配置强制使用cglib代理。本篇,我们使用jdk动态代理来完善aop 准备工作 INioCod...

山有木兮木有枝,心悦君兮君不知。 概述 到目前位置,关于aop的部分,我们已经完成了以下功能 根据Bean的名称和方法名,获取Method对象。MethodLocatingFactory 给定一个类的方法,判断该方法是否符合Pointcut的表达式。AspectJExpressionPointcut 实现...

曾经沧海难为水 除却巫山不是云。 概述 在Small Spring系列八:aop (一)中,我们实现了Pointcut和MethodLocatingFactory,Pointcut根据给定一个类的方法判断是否符合expression表达式,MethodLocatingFactory更具targetBeanName和methodName返回一个Method...

关关雎鸠,在河之洲。窈窕淑女,君子好逑。 概述 AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。 Spring AOP采用的是动态...

路漫漫其修远兮 吾将上下而求索。 概述 我们终于不辱使命完成了Spring的注解注入,接下来我们要实现更为关键aop部分,在这开始之前你需要了解什么事aop以及aop的常用术语,参考链接 准备工作 bean-v5.xml 我们使用xml配置的方式实现aop <?xml versio...

且将新火试新茶,诗酒趁年华。 概述 Class是一个位于java.lang包下面的一个类,在Java中每个类实例都有对应的Class对象。类对象是由Java虚拟机(JVM)自动构造的。 Class类的方法经常在反射时被调用。 创建Class对象 有三种方法可以创建Class对象 Class....

秋水共长天一色 落霞与孤鹜齐飞。 概述 前两章我们已经完成了使用ASM读取Annotation、新增SimpleMetadataReader封装了复杂的Vister、同时引入了AnnotatedBeanDefinition和ScannedGenericBeanDefinition表明注解扫描的BeanDefinition。本章我们来实现最...

we never know, we just believe it. 概述 在Small Spring系列五:annotation Injection(一)中,我们已经通过PackageResourceLoader将指定包下面的class文件转变为Resource资源。本章我们实现通过ASM读取Resource中的注解信息并创建BeanDefinition。关...

What a sweet burden!A joyful sorrow! 概述 前两章我们已经实现了setter注入和constructor注入,本章我们来继续实现annotation注入。 思路如下: 1. 读取xml文件 2. 对指定base-package进行扫描,找到对应那些标记为@Component的类,创建BeanDefinitio...

纤云弄巧,飞星传恨,银汉迢迢暗度。金风玉露一相逢,便胜却人间无数。 概述 · 上一章我们已经实现了setter 注入,具体实现如下 新增PropertyValue类来表达<property>标签内容 新增BeanDefinitionValueResolver来区分<property>中的ref属性...

 Top