Spring Aop(十六)——编程式的自定义Advisor

编程式的自定义Advisor概述大多数情况下,我们的Aop应用都可以通过Spring的Aop配置来进行(不管是基于注解的,还是基于XML配置的)。Spring Aop的核心就是Advisor,Advisor接口中暂时有用的就是getAdvice()方法,而isPerInstance()方法官方说暂时还没有应用到,生成的Advisor是单例还是多例不由isPerInstance()的返回结果决定,而由...
阅读(830) 评论(0)

Spring Aop(十五)——Aop原理之Advised接口

Spring Aop原理之Advised接口通过之前我们介绍的ProxyFactory我们知道,Spring Aop是通过ProxyFactory来创建代理对象的。ProxyFactory在创建代理对象时会委托给DefaultAopProxyFactory.createAopProxy(AdvisedSupport config),DefaultAopProxyFactory内部会分情况返回基于JD...
阅读(784) 评论(0)

Spring Aop(十四)——Aop自动创建代理对象的原理

Aop自动创建代理对象的原理我们在使用Spring Aop时,通常Spring会自动为我们创建目标bean的代理对象,以使用对应的Advisor。前提是我们在使用Spring Aop时是使用的或,这是因为当我们在applicationContext.xml文件中通过的形式定义需要使用Aop的场景时,S...
阅读(782) 评论(0)

Spring Aop(十三)——ProxyFactoryBean创建代理对象

ProxyFactoryBean创建代理对象ProxyFactoryBean实现了Spring的FactoryBean接口,所以它跟Spring中的其它FactoryBean一样,都是基于工厂模式来获取一个bean的。ProxyFactoryBean就是用来获取一个对象的代理对象的FactoryBean。它也是继承自ProxyCreatorSupport类的,所以它的功能基本跟ProxyFactor...
阅读(862) 评论(0)

Mybatis调用存储过程

调用存储过程mybatis调用存储过程时需要指定statementType=”CALLABLE”,这样Mybatis内部中调用sql语句时将采用CallableStatementHandler,而CallableStatementHandler内部将使用CallableStatement来调用存储过程。如果存储过程是有参数的,需要指定mode属性,可选值有IN、OUT和INOUT。当mode为OUT...
阅读(794) 评论(0)

Spring Aop(十二)——编程式的创建Aop代理之AspectjProxyFactory

编程式的创建Aop代理之AspectjProxyFactory之前已经介绍了一款编程式的创建Aop代理的工厂——ProxyFactory,其实ProxyFactory拥有的功能AspectjProxyFactory都有。它们虽然没有直接的继承关系,但是它们都继承自ProxyCreatorSupport,而创建代理对象的核心逻辑都是在ProxyCreatorSupport中实现的。所以说ProxyFa...
阅读(1006) 评论(0)

Spring Aop(十一)—— 编程式的创建Aop代理之ProxyFactory

编程式的创建Aop代理之ProxyFactorySpring Aop是基于代理的,ProxyFactory是Spring Aop内部用来创建Proxy对象的一个工厂类。如果我们需要在程序运行时来动态的应用Spring Aop,则我们可以考虑使用ProxyFactory。使用ProxyFactory时,我们需要为它指定我们需要代理的目标对象、代理时我们需要使用的Advisor或Advice。如下示例就...
阅读(1131) 评论(0)

Spring Aop(十)——编程式的Pointcut

编程式的Pointcut除了可以通过注解和Xml配置定义Pointcut之外,其实我们还可以通过程序来定义Pointcut。Spring Aop的切入点(Pointcut)对应于它的一个Pointcut接口,全称是org.springframework.aop.Pointcut。该接口的定义如下: public interface Pointcut { ClassFilter getClas...
阅读(1155) 评论(0)

Spring Aop(九)——基于正则表达式的Pointcut

基于正则表达式的PointcutJdkRegexpMethodPointcutSpring官方为我们提供了一个基于正则表达式来匹配方法名的Pointcut,JdkRegexpMethodPointcut。该Pointcut是继承自StaticMethodMatcherPointcut的。我们在定义JdkRegexpMethodPointcut时可以通过patterns和excludedPattern...
阅读(1152) 评论(0)

Spring Aop(八)——advisor标签

8 advisor标签advisor标签是需要定义在aspect标签里面的,其作用与aspect类似,可以简单的把它理解为一个特殊的切面,用于把一个Advice和一个Pointcut组合起来。一个advisor标签对应的就是一个Advisor接口的实现类,默认是DefaultBeanFactoryPointcutAdvisor实现。其使用的基本语法类似如下这样。 <a...
阅读(1208) 评论(0)

Spring Aop(七)——基于XML配置的Spring Aop

7 基于XML配置的Spring AOP基于XML配置的Spring AOP需要引入AOP配置的Schema,然后我们就可以使用AOP Schema下定义的config、aspect、pointcut等标签进行Spring AOP配置了。 <beans xmlns="http://www.springframework.or...
阅读(1409) 评论(0)

Spring(26)——PathMatchingResourcePatternResolver

PathMatchingResourcePatternResolver可以用来解析资源文件,主要是用来解析类路径下的资源文件。当然它也可以用来解析其它资源文件,如基于文件系统的本地资源文件。PathMatchingResourcePatternResolver在使用时可以直接new一个对象,new的时候可以通过使用带ResourceLoader参数的构造方法指定需要使用的ResourceLoader...
阅读(1448) 评论(0)

Ehcache开启JMX支持

Ehcache提供了基于JMX的监控支持,支持对以下几类信息的监控。 * CacheManager * Cache * CacheConfiguration * CacheStatistics按照JMX的规范,为了支持对这几类信息的监控支持,Ehcache分别为它们建立了对应的MBean接口,这些接口都定义在net.sf.ehcache.management包中,分别是CacheManage...
阅读(1404) 评论(0)

Spring Aop(六)——@DeclareParents介绍

6 @DeclareParents介绍@DeclareParents注解也是Aspectj提供的,在使用基于Aspectj注解的Spring Aop时,我们可以在切面中通过@DeclareParents指定满足指定表达式的类将自动实现某些接口。这个只是在运行时会将生成的代理类实现指定的接口。有接口就会有实现,对应的实现类也需要我们在@DeclareParents声明自动实现的接口时声明。现假设我们有...
阅读(1565) 评论(0)

Spring Aop(五)——给Advice传递参数

5 给Advice传递参数Advice除了可以接收JoinPoint(非Around Advice)或ProceedingJoinPoint(Around Advice)参数外,还可以直接接收与切入点方法执行有关的对象,比如切入点方法参数、切入点目标对象(target)、切入点代理对象(this)等。5.1 获取切入点方法参数假设我们现在有一个id为userService的bean中定义了一个fi...
阅读(3157) 评论(0)
189条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:893211次
    • 积分:10820
    • 等级:
    • 排名:第1644名
    • 原创:189篇
    • 转载:0篇
    • 译文:0篇
    • 评论:63条
    博客专栏
    文章分类