• achieve aop through xml


    The main way to achive AOP is deploying a xml file。

    Now a xml file is presented to be a explanation .

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
               http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context-2.5.xsd
               http://www.springframework.org/schema/aop
               http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
    	<context:annotation-config />
    	<context:component-scan base-package="com.bjsxt"/>
     	<bean id="logInterceptor" class ="com.bjsxt.aop.LogInterceptor"></bean>
     	<aop:config>
     	    <aop:pointcut 
     	    expression="execution(public * com.bjsxt.service..*.add(..))" 
     	    id="servicePointcut"/>
     	    
     	    <aop:aspect id="logAspect" ref="logInterceptor">
    	       <aop:before method="before" pointcut-ref="servicePointcut" />
    	    </aop:aspect>
     	</aop:config>
     	
    	
     
    
    </beans>

    The tag <aop:config> declares that we will deploy a aop now. 

    While , I declare a "pointcut" at first.  It is obvious that it's a globe pointcut and it works for every aspect behind it . 

    "expression="execution(public * com.bjsxt.service..*.add(..))" shows the pointcut represent all method like “add()” in the classes of  the package named"com.bjsxt.service.."

    the pointcut‘s id is “servicePointcut” in addition。


    Next, a aspect is declared whose name is “logAspect” 。

    (nobody care what name it has in this situation)。

     pointcut-ref="servicePointcut" shows that it is a aspect for the pointcut named “servicePointcut”which we had created a moment ago.
     Its ref =  <span style="font-family: Arial, Helvetica, sans-serif;">"logInterceptor" ,so we can find a bean named logInterceptor  to know what methods the aspect has。

    And according to the sentence “<aop:before method</span>

    <span style="font-family: Arial, Helvetica, sans-serif;">="before"  " , I think we must do the method named "before" in "logIntercepor "  as the type of" before method". It means the method woulb be done before pointcut.</span>
    <span style="font-family: Arial, Helvetica, sans-serif;">
    </span>
    <span style="font-family: Arial, Helvetica, sans-serif;">We can also complete the xml file in design mode。 It looks much more clear.</span>
    <span style="font-family: Arial, Helvetica, sans-serif;">
    </span>


  • 相关阅读:
    网页特殊符号HTML代码大全
    检测手机类型正则表达式
    blur和focus的运用
    腾讯对外分享组件接口文档
    js 类型检测
    iconfont的应用
    运算符优先级 (JavaScript)
    IOC(控制反转)和DI(依赖注入)
    Mybatis的运行原理
    通用Mapper
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5099774.html
Copyright © 2020-2023  润新知