Spring-AOP 流程切面

概述 实例 总结概述Spring的流程切面由DefaultPointcutAdvisor和ControlFlowPointcut实现。 流程切点代表由某个方法直接或者间接发起调用的其他方法。 实例代码已托管到Github—> https://github.com/yangshangwei/SpringMasterpackage com.xgj.aop.spring.advisor.ControlFl...
阅读(1431) 评论(0)

Spring-AOP 动态切面

概述 实例概述低版本中,Spring提供了用于创建动态切面的DynamicMethodMatcherPointcutAdvisor抽象类,这个抽象类在2.0已过时,现在可以使用DefaultPointcutAdvisor和DynamicMethodMatcherPointcut来完成相同的功能。DynamicMethodMatcherPointcut是一个抽象类,它将 isRuntime()标识位f...
阅读(1611) 评论(0)

Spring-AOP 静态正则表达式方法匹配切面

概述 实例 正则表达式语法 正则表达式工具 RegexBuddy概述在Spring-AOP 静态普通方法名匹配切面案例中 StaticMethodMatcherPointcutAdvisor中,仅能通过方法名定义切点,这种描述方式不够灵活,假设目标类中有多个方法,切满足一定的命名规范,使用正则表达式进行匹配就灵活多了。 RegexpMethodPointcutAdvisor是正则表达式方法匹配的切...
阅读(1640) 评论(0)

Git-将已有的项目转换为GIT项目托管到 GITHUB 仓库

概述 步骤 GIT软件安装 初始化本地maven项目为 Git 项目 将所有文件放进新的本地 git 仓库 将添加的文件提交到仓库 GitHub上创建项目 copy项目地址 回到命令行终端界面将本地仓库关联到远程仓库 提交代码到 GitHub 仓库 Github上查看项目 Github提示信息 在Spring Tool Suite中连接GITHUB 另外一个Java项目托管到github上的完整操作...
阅读(1286) 评论(0)

Spring-AOP 静态普通方法名匹配切面

概述 实例概述StaticMethodMatcherPointcutAdvisor代表一个静态方法匹配切面,它通过StaticMethodMatcherPointcut来定义切点,并通过类过滤和方法名来匹配所定义的切点.实例我们假设我们业务类中 Waiter和 Seller中都有同名的greetTo()方法.业务类Waiterpackage com.xgj.aop.spring.advisor.St...
阅读(1726) 评论(0)

Spring-AOP 通过配置文件实现 引介增强

概述 实例概述引介增强是一种比较特殊的增强类型,它不是在目标方法周围织入增强,而是为目标创建新的方法和属性,所以它的连接点是类级别的而非方法级别的。通过引介增强我们可以为目标类添加一个接口的实现即原来目标类未实现某个接口,那么通过引介增强可以为目标类创建实现某接口的代理。 Spring定义了引介增强接口IntroductionInterceptor,该接口没有定义任何方法 Spring为该接口提供...
阅读(1690) 评论(0)

Spring-AOP 通过配置文件实现 异常抛出增强

概述 实例概述异常抛出增强表示在目标方法抛出异常后实施增强,最适合的场景是事务管理,比如当参与事事务的方法抛出异常后需要回滚事务。 异常抛出增强类需要实现ThrowsAdvice接口,ThrowsAdvice接口并没有定义任何的方法,它只是一个标志接口。 在运行期,Spring采用反射的机制来进行判断。我们必须采用以下的形式来定义异常抛出的方法 public void afterThrowing(M...
阅读(1684) 评论(0)

Spring-AOP 通过配置文件实现 环绕增强

概述 实例概述环绕增强允许在目标类方法调用前后织入横切逻辑,它综合实现了前置,后置增强两者的功能.实例下面是我们用环绕增强同时实现上面的我们的示例。步骤如下: 创建业务接口类:Waiter.java 创建业务实现类:NativeWaiter.java 创建业务增强类:GreetingInterceptor.java 创建配置文件:conf-advice.xml 创建增强测试类:Method...
阅读(1706) 评论(0)

Spring-AOP 通过配置文件实现 后置增强

概述 实例概述 后置增强在目标方法调用后执行.实例例如上面的例子中,在服务生每次服务后,也需要向客人问候,可以通过后置增强来实施这一要求,步骤如下:创建业务接口类:Waiter.java 创建业务实现类:NativeWaiter.java 创建业务增强类:GreetingAfterAdvice.java 创建配置文件:conf-advice.xml 创建增强测试类:AfterReturing...
阅读(1621) 评论(0)

Spring-AOP 切点/切面类型和创建切面

概述 静态方法匹配器 动态方法匹配器 六种切点类型 静态方法切点StaticMethodMatcherPointcut 动态方法切点DynamicMethodMatcher 注解切点AnnotationMatchingPointcut 表达式切点ExpressionPointcut 流程切点ControlFlowPointcut 复合切点ComposablePointcut 三种切面类型一般切面Ad...
阅读(1732) 评论(0)

Spring-AOP 通过配置文件实现 前置增强

概述 在Spring中配置 通过配置文件实现增强 配置文件 ProxyFactory Bean配置文件当中常用的属性 测试类 其他代码概述在上篇博文的案例中 Spring-AOP 创建增强类-前置增强我们使用org.springframework.aop.framework.ProxyFactory通过编码的方式将GreetingBeforeAdvice的增强织入目标类NaiveWaiter中结合我...
阅读(1594) 评论(0)

Spring-AOP 增强(Advice)5种类型和创建增强类

概述 增强类型 前置增强 实例一通过代码实现增强 实例二 通过配置文件实现前置增强-ProxyFactory 后置增强 环绕增强 异常抛出增强 引介增强 提示概述Spring使用增强类定义横切逻辑,同时由于Spring只支持方法连接点,增强还包括在方法的哪一点加入横切代码的方位信息,所以增强既包括横切逻辑,又包括部分连接点的信息增强类型AOP联盟为增强定义了org.aopalliance.aop.A...
阅读(1263) 评论(0)

Java-CGLib动态代理

导读 问题 CGLib动态代理和JDK动态代理的区别 CGLib概述 改造导读Spring-AOP基础知识Java-JDK动态代理Java-CGLib动态代理问题另一篇博文中的问题性能监视横切逻辑代码CGLib动态代理和JDK动态代理的区别我们知道使用JDK创建代理时只能为接口创建代理实例。我们从Proxy的newProxyInstance方法中可以看出 @CallerSensitive...
阅读(1305) 评论(0)

Java-JDK动态代理

问题 概述 改造 其他相关接口类问题另一篇博文中的问题性能监视横切逻辑代码概述Java1.3以后,JAVA提供了动态代理技术,允许开发者在运行期创建接口的代理实例。 JDK的动态代理主要涉及java.lang.reflect包中的两个类:Proxy和InvocationHandler.InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑并通过反射机制调用目标类的代码,动态的将...
阅读(1483) 评论(0)

Spring-AOP基础知识

概述 带有横切逻辑的实例 JDK动态代理 CGLib动态代理 代理知识小结概述Spring AOP 使用动态代理技术在运行期织入增强的代码. 为了解密SpringAOP底层的工作机制,我们需要先学习下涉及到的JAVA知识。 Spring使用两种代理机制: 一种是基于JDK的动态代理 另一种是基于CGLib的动态代理。 之所以需要两种代理,是因为JDK本身只能提供接口的代理,而不支持类的代理。 带有...
阅读(1637) 评论(0)

Spring-AOP概述

概述 AOP是什么 AOP专业术语 连接点Joinpoint 切点Pointcut 增强Advice 目标对象Target 引介Introduction 织入Weaving 代理Proxy 切面Aspect AOP的实现者 AspectJ AspectWerkz JBoss AOP Spring AOP概述Spring AOP是AOP技术在Spring中的具体实现,它是Spring框架的另外一个重要...
阅读(1440) 评论(0)

Spring-国际化信息03-容器级的国际化信息资源

概述 实例 注意事项概述我们查看ApplicationContext中的源码可以看到public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory, HierarchicalBeanFactory, MessageSource, ApplicationEventPublisher,...
阅读(1190) 评论(0)

Spring-国际化信息02-MessageSource接口

概述 MessageSource接口方法 MessageSource类结构 ResourceBundleMessageSource 实例 ReloadableResourceBundleMessageSource 实例概述spring定义了访问国际化信息的MessageSource接口,并提供了几个易用的实现类.MessageSource接口方法我们先看下源码,先来了解一下该接口的几个重要方法 St...
阅读(1234) 评论(0)

Spring-国际化信息01-基础知识

导读 概述 基础知识 概述 javautilLocale 本地化工具类 NumberFormat DateFormat MessageFormat ResourceBoundle 实例 中文本地化资源文件两种转换方式 JDK的native2ascii工具 IDE自带的支持 ResourceBundle加载资源的顺序 在资源文件中使用格式化串导读Spring-国际化信息01-基础知识Spring-国...
阅读(1219) 评论(0)

Spring-引用Bean的属性值

概述 实例 基于XML方式的引用 基于注解的引用概述将应用系统的配置信息存放在配置文件中并非总是最合适的,如果应用以集群的方式部署,或者希望在运行期动态调整引用的某些配置,这时,将配置信息放到数据库中不但方便集中管理,而且可以通过应用系统的管理界面动态维护,有效增强应用系统的可维护性。 早期版本,如果想在配置文件中引用另外一个Bean的属性值是比较麻烦的,Spring3.0则提供了优雅的解决方案....
阅读(1206) 评论(0)
437条 共22页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:897317次
    • 积分:14518
    • 等级:
    • 排名:第895名
    • 原创:404篇
    • 转载:0篇
    • 译文:5篇
    • 评论:142条
    WeChat
      欢迎关注我的公众号,干货只有干货,还有更多惊喜和资源在等着你
    博客专栏