zoukankan      html  css  js  c++  java
  • spring 组件扫描和切面配置

    applicationContext-aop.xml

        <!-- 自动扫描的包 -->
        <context:component-scan base-package="com.atguigu.spring.aop"></context:component-scan>
    
        <!-- 使 AspectJ 的注解起作用 -->
        <aop:aspectj-autoproxy></aop:aspectj-autoproxy>

    applicationContext-xml.xml

    <?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:aop="http://www.springframework.org/schema/aop"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">
    
        <!-- 配置 bean -->
        <bean id="arithmeticCalculator" 
            class="com.atguigu.spring.aop.xml.ArithmeticCalculatorImpl"></bean>
    
        <!-- 配置切面的 bean. -->
        <bean id="loggingAspect"
            class="com.atguigu.spring.aop.xml.LoggingAspect"></bean>
    
        <bean id="vlidationAspect"
            class="com.atguigu.spring.aop.xml.VlidationAspect"></bean>
    
        <!-- 配置 AOP -->
        <aop:config>
            <!-- 配置切点表达式 -->
            <aop:pointcut expression="execution(* com.atguigu.spring.aop.xml.ArithmeticCalculator.*(int, int))" 
                id="pointcut"/>
            <!-- 配置切面及通知 -->
            <aop:aspect ref="loggingAspect" order="2">
                <aop:before method="beforeMethod" pointcut-ref="pointcut"/>
                <aop:after method="afterMethod" pointcut-ref="pointcut"/>
                <aop:after-throwing method="afterThrowing" pointcut-ref="pointcut" throwing="e"/>
                <aop:after-returning method="afterReturning" pointcut-ref="pointcut" returning="result"/>
                <!--  
                <aop:around method="aroundMethod" pointcut-ref="pointcut"/>
                -->
            </aop:aspect>    
            <aop:aspect ref="vlidationAspect" order="1">
                <aop:before method="validateArgs" pointcut-ref="pointcut"/>
            </aop:aspect>
        </aop:config>
    
    </beans>
  • 相关阅读:
    16、cgminer学习之:popen函数和system函数详解(执行系统命令)
    16、cgminer学习之:pthread_mutex_init和pthread_cond_init
    15、python学习手册之:元组、文件及其他
    15、python学习手册之:列表和字典
    Chorme浏览器中使用flash debug版本
    Best Practices
    Titled-Contributing to Tiled
    Titled
    VS2010配合SVN搭建使用
    Google code问题记录
  • 原文地址:https://www.cnblogs.com/lxh520/p/8885477.html
Copyright © 2011-2022 走看看