
【Spring-AOP】
文章平均质量分 94
【后端开发-Spring4.X-AOP】
小小工匠
show me the code ,change the world
展开
-
Spring-AOP 静态正则表达式方法匹配切面
概述实例正则表达式语法正则表达式工具 RegexBuddy概述在Spring-AOP 静态普通方法名匹配切面案例中 StaticMethodMatcherPointcutAdvisor中,仅能通过方法名定义切点,这种描述方式不够灵活,假设目标类中有多个方法,切满足一定的命名规范,使用正则表达式进行匹配就灵活多了。 RegexpMethodPointcutAdvisor是正则表达式方法匹配的切原创 2017-08-19 10:41:57 · 19432 阅读 · 0 评论 -
Spring-AOP 自动创建代理之AnnotationAwareAspectJAutoProxyCreator
导读实例导读Spring-AOP 自动创建代理Spring-AOP 自动创建代理之BeanNameAutoProxyCreatorSpring-AOP 自动创建代理之DefaultAdvisorAutoProxyCreatorSpring-AOP 自动创建代理之AnnotationAwareAspectJAutoProxyCreator实例代码已托管到Github—> https://github原创 2017-08-25 05:42:23 · 16263 阅读 · 0 评论 -
Spring-AOP 自动创建代理之BeanNameAutoProxyCreator
导读实例导读Spring-AOP 自动创建代理实例代码已托管到Github—> https://github.com/yangshangwei/SpringMaster在 Spring-AOP 静态普通方法名匹配切面 案例中,我们通过配置两个ProxyFactoryBean分别为waiter和seller的Bean创建代理对象,如下<?xml version="1.0" encoding="UTF原创 2017-08-22 03:30:36 · 17739 阅读 · 0 评论 -
Spring-AOP 自动创建代理之DefaultAdvisorAutoProxyCreator
导读概述实例导读Spring-AOP 自动创建代理Spring-AOP 自动创建代理之BeanNameAutoProxyCreatorSpring-AOP 自动创建代理之DefaultAdvisorAutoProxyCreator概述我们知道切面Advisor是切点和增强的复合体,Advisor本身已经包含了足够的信息,如横切逻辑及连接点。DefaultAdvisorAutoProxyCreat原创 2017-08-22 04:31:37 · 16448 阅读 · 0 评论 -
Spring-AOP 增强(Advice)5种类型和创建增强类
概述增强类型前置增强实例一通过代码实现增强实例二 通过配置文件实现前置增强-ProxyFactory后置增强环绕增强异常抛出增强引介增强提示概述Spring使用增强类定义横切逻辑,同时由于Spring只支持方法连接点,增强还包括在方法的哪一点加入横切代码的方位信息,所以增强既包括横切逻辑,又包括部分连接点的信息增强类型AOP联盟为增强定义了org.aopalliance.aop.A原创 2017-08-14 03:14:11 · 20268 阅读 · 2 评论 -
Spring-AOP概述
概述AOP是什么AOP专业术语连接点Joinpoint切点Pointcut增强Advice目标对象Target引介Introduction织入Weaving代理Proxy切面AspectAOP的实现者AspectJAspectWerkzJBoss AOPSpring AOP概述Spring AOP是AOP技术在Spring中的具体实现,它是Spring框架的另外一个重要原创 2017-08-12 14:12:05 · 15380 阅读 · 0 评论 -
Java-JDK动态代理
问题概述改造其他相关接口类问题另一篇博文中的问题性能监视横切逻辑代码概述Java1.3以后,JAVA提供了动态代理技术,允许开发者在运行期创建接口的代理实例。 JDK的动态代理主要涉及java.lang.reflect包中的两个类:Proxy和InvocationHandler.InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑并通过反射机制调用目标类的代码,动态的将原创 2017-08-13 10:48:10 · 15308 阅读 · 0 评论 -
Java-Java5.0注解解读
概述元注解Meta-annotationTargetRetentionDocumentedInherited自定义注解定义注解格式注解参数的可支持数据类型实例编写注解类使用注解访问注解概述Java5.0注解可以看做Javadoc和Xdoclet标签的延伸和发展,在Java5.0中可以自定义这些标签,并通过Java语言的反射机制获取类中标注的注解,完成特定的功能。 注解是代码的原创 2017-08-22 11:27:51 · 16603 阅读 · 0 评论 -
Spring-AOP 自动创建代理
导读概述实现类介绍BeanNameAutoProxyCreatorDefaultAdvisorAutoProxyCreatorAnnotationAwareAspectJAutoProxyCreatorAOP总结导读Spring-AOP 自动创建代理Spring-AOP 自动创建代理之BeanNameAutoProxyCreatorSpring-AOP 自动创建代理之DefaultAdv原创 2017-08-21 12:46:01 · 16092 阅读 · 0 评论 -
Spring-AOP 基于Schema配置切面
概述简单切面配置实例示例配置命名切点示例各种增强类型的配置示例绑定连接点信息Advisor配置概述如果项目不能使用Java5.0, 那么就无法使用基于@AspectJ注解的切面。 但是Spring提供了基于Schema配置的方法,它完全可以替代基于@AspectJ注解声明切面的方式。 基于@AspectJ注解的切面,本质上是将切点、增强类型的信息使用注解描述,我们将这两个信息转移到S原创 2017-09-16 09:51:16 · 16395 阅读 · 1 评论 -
Spring4.X系列之AOP基础篇
专栏导读专栏欢迎关注 :专栏一 :Spring-AOP基础手札 专栏二:Spring-AspectJ手札导读Spring-AOP概述Spring-AOP基础知识Spring-AOP基础之JDK动态代理Spring-AOP基础之CGLib动态代理Spring-AOP 增强(Advice)5种类型和创建增强类Spring-AOP 通过配置文件实现 前置增强Spring-AOP 通过配置文件实现 后置增原创 2017-09-22 09:56:41 · 15851 阅读 · 0 评论 -
Spring-AOP 切点/切面类型和创建切面
概述静态方法匹配器动态方法匹配器六种切点类型静态方法切点StaticMethodMatcherPointcut动态方法切点DynamicMethodMatcher注解切点AnnotationMatchingPointcut表达式切点ExpressionPointcut流程切点ControlFlowPointcut复合切点ComposablePointcut三种切面类型一般切面Ad原创 2017-08-15 12:05:11 · 24979 阅读 · 0 评论 -
Spring-AOP 引介切面
概述引介切面类继承关系IntroductionAdvisor接口的两个实现类DefaultIntroductionAdvisor的构造函数实例概述之前的博文介绍了 Spring-AOP 通过配置文件实现 引介增强 ,引介切面是引介增强的封装器,通过引介切面可以很容易的为现有对象添加任何接口的实现。 引介切面类继承关系IntroductionAdvisor 和 PointcutAdviso原创 2017-08-21 02:42:09 · 16829 阅读 · 0 评论 -
Spring-AOP 复合切点切面
概述ComposablePointcut源码ComposablePointcut的构造函数ComposablePointcut的3个交集运算的方法ComposablePointcut的3个并集运算的方法多个切点之间的交集并集运算实例概述通过上面几篇文章我们发现,实例中的定义的切面仅有一个切点,有的时候,一个切点可能难以描述目标连接点的信息。上篇博文 Spring-AOP 流程切面的例子,原创 2017-08-20 15:50:37 · 16846 阅读 · 0 评论 -
Spring-AOP 静态普通方法名匹配切面
概述实例概述StaticMethodMatcherPointcutAdvisor代表一个静态方法匹配切面,它通过StaticMethodMatcherPointcut来定义切点,并通过类过滤和方法名来匹配所定义的切点.实例我们假设我们业务类中 Waiter和 Seller中都有同名的greetTo()方法.业务类Waiterpackage com.xgj.aop.spring.advisor.St原创 2017-08-19 01:06:09 · 29605 阅读 · 4 评论 -
Spring-AOP 通过配置文件实现 引介增强
概述实例概述引介增强是一种比较特殊的增强类型,它不是在目标方法周围织入增强,而是为目标创建新的方法和属性,所以它的连接点是类级别的而非方法级别的。通过引介增强我们可以为目标类添加一个接口的实现即原来目标类未实现某个接口,那么通过引介增强可以为目标类创建实现某接口的代理。 Spring定义了引介增强接口IntroductionInterceptor,该接口没有定义任何方法 Spring为该接口提供原创 2017-08-15 12:19:30 · 16849 阅读 · 3 评论 -
Spring-AOP 通过配置文件实现 环绕增强
概述实例概述环绕增强允许在目标类方法调用前后织入横切逻辑,它综合实现了前置,后置增强两者的功能.实例下面是我们用环绕增强同时实现上面的我们的示例。步骤如下: 创建业务接口类:Waiter.java 创建业务实现类:NativeWaiter.java 创建业务增强类:GreetingInterceptor.java 创建配置文件:conf-advice.xml 创建增强测试类:Method原创 2017-08-15 12:14:12 · 16767 阅读 · 2 评论 -
Spring-AOP 通过配置文件实现 异常抛出增强
概述实例概述异常抛出增强表示在目标方法抛出异常后实施增强,最适合的场景是事务管理,比如当参与事事务的方法抛出异常后需要回滚事务。 异常抛出增强类需要实现ThrowsAdvice接口,ThrowsAdvice接口并没有定义任何的方法,它只是一个标志接口。 在运行期,Spring采用反射的机制来进行判断。我们必须采用以下的形式来定义异常抛出的方法 public void afterThrowing(M原创 2017-08-15 12:16:57 · 15798 阅读 · 3 评论 -
Spring-AOP 通过配置文件实现 后置增强
概述实例概述 后置增强在目标方法调用后执行.实例例如上面的例子中,在服务生每次服务后,也需要向客人问候,可以通过后置增强来实施这一要求,步骤如下:创建业务接口类:Waiter.java 创建业务实现类:NativeWaiter.java 创建业务增强类:GreetingAfterAdvice.java 创建配置文件:conf-advice.xml 创建增强测试类:AfterReturing原创 2017-08-15 12:09:05 · 16294 阅读 · 0 评论 -
Spring-AOP 通过配置文件实现 前置增强
概述在Spring中配置通过配置文件实现增强配置文件ProxyFactory Bean配置文件当中常用的属性测试类其他代码概述在上篇博文的案例中 Spring-AOP 创建增强类-前置增强我们使用org.springframework.aop.framework.ProxyFactory通过编码的方式将GreetingBeforeAdvice的增强织入目标类NaiveWaiter中结合我原创 2017-08-15 05:31:47 · 16126 阅读 · 0 评论 -
Java-CGLib动态代理
导读问题CGLib动态代理和JDK动态代理的区别CGLib概述改造导读Spring-AOP基础知识Java-JDK动态代理Java-CGLib动态代理问题另一篇博文中的问题性能监视横切逻辑代码CGLib动态代理和JDK动态代理的区别我们知道使用JDK创建代理时只能为接口创建代理实例。我们从Proxy的newProxyInstance方法中可以看出 @CallerSensitive原创 2017-08-13 13:45:57 · 15463 阅读 · 5 评论 -
Spring-AOP基础知识
概述带有横切逻辑的实例JDK动态代理CGLib动态代理代理知识小结概述Spring AOP 使用动态代理技术在运行期织入增强的代码. 为了解密SpringAOP底层的工作机制,我们需要先学习下涉及到的JAVA知识。 Spring使用两种代理机制:一种是基于JDK的动态代理另一种是基于CGLib的动态代理。 之所以需要两种代理,是因为JDK本身只能提供接口的代理,而不支持类的代理。 带有原创 2017-08-13 01:39:15 · 15648 阅读 · 1 评论 -
Spring-AOP 动态切面
概述实例概述低版本中,Spring提供了用于创建动态切面的DynamicMethodMatcherPointcutAdvisor抽象类,这个抽象类在2.0已过时,现在可以使用DefaultPointcutAdvisor和DynamicMethodMatcherPointcut来完成相同的功能。DynamicMethodMatcherPointcut是一个抽象类,它将 isRuntime()标识位f原创 2017-08-19 12:21:27 · 19898 阅读 · 0 评论 -
Spring-AOP 流程切面
概述实例总结概述Spring的流程切面由DefaultPointcutAdvisor和ControlFlowPointcut实现。 流程切点代表由某个方法直接或者间接发起调用的其他方法。 实例代码已托管到Github—> https://github.com/yangshangwei/SpringMasterpackage com.xgj.aop.spring.advisor.ControlFl原创 2017-08-20 05:26:57 · 16396 阅读 · 0 评论 -
Spring-常见问题25问
什么是Spring框架Spring框架有哪些主要模块使用Spring框架能带来哪些好处什么是控制反转IOC什么是依赖注入请解释下Spring框架中的IoCBeanFactory和ApplicationContext有什么区别Spring有几种配置方式如何用基于XML配置的方式配置Spring如何用基于Java配置的方式配置Spring怎样用注解的方式配置Spring请解释Sprin原创 2017-11-13 09:09:48 · 15674 阅读 · 0 评论