zoukankan      html  css  js  c++  java
  • AOP配置

    <!-- 配置srping的Ioc,把service对象配置进来-->
        <bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl"></bean>
        <!--spring中基于XML的AOP配置步骤
            1、把通知Bean也交给spring来管理
            2、使用aop:config标签表明开始AOP的配置
            3、使用aop:aspect标签表明配置切面
                    id属性:是给切面提供一个唯一标识
                    ref属性:是指定通知类bean的Id。
            4、在aop:aspect标签的内部使用对应标签来配置通知的类型
                   我们现在示例是让printLog方法在切入点方法执行之前之前:所以是前置通知
                   aop:before:表示配置前置通知
                        method属性:用于指定Logger类中哪个方法是前置通知
                        pointcut属性:用于指定切入点表达式,该表达式的含义指的是对业务层中哪些方法增强
                切入点表达式的写法:
                    关键字:execution(表达式)
                    表达式:
                        访问修饰符  返回值  包名.包名.包名...类名.方法名(参数列表)
                    标准的表达式写法:
                        public void com.itheima.service.impl.AccountServiceImpl.saveAccount()
                    访问修饰符可以省略
                        void com.itheima.service.impl.AccountServiceImpl.saveAccount()
                    返回值可以使用通配符,表示任意返回值
                        * com.itheima.service.impl.AccountServiceImpl.saveAccount()
                    包名可以使用通配符,表示任意包。但是有几级包,就需要写几个*.
                        * *.*.*.*.AccountServiceImpl.saveAccount())
                    包名可以使用..表示当前包及其子包
                        * *..AccountServiceImpl.saveAccount()
                    类名和方法名都可以使用*来实现通配
                        * *..*.*()
                    参数列表:
                        可以直接写数据类型:
                            基本类型直接写名称           int
                            引用类型写包名.类名的方式   java.lang.String
                        可以使用通配符表示任意类型,但是必须有参数
                        可以使用..表示有无参数均可,有参数可以是任意类型
                    全通配写法:
                        * *..*.*(..)
                    实际开发中切入点表达式的通常写法:
                        切到业务层实现类下的所有方法
                            * com.itheima.service.impl.*.*(..)
        -->
        <!-- 配置Logger类 -->
        <bean id="logger" class="com.itheima.utils.Logger"></bean>
        <!--配置AOP-->
        <aop:config>
            <!--配置切面 -->
            <aop:aspect id="logAdvice" ref="logger">
                <!-- 配置通知的类型,并且建立通知方法和切入点方法的关联-->
                <aop:before method="printLog" pointcut="execution(* com.itheima.service.impl.*.*(..))"></aop:before>
            </aop:aspect>
        </aop:config>
    </beans>
  • 相关阅读:
    SCILAB简介[z]
    UG OPEN API编程基础 2约定及编程初步
    Office 2003与Office 2010不能共存的解决方案
    UG OPEN API 编程基础 3用户界面接口
    NewtonRaphson method
    UG OPEN API编程基础 13MenuScript应用
    UG OPEN API编程基础 14API、UIStyler及MenuScript联合开发
    UG OPEN API编程基础 4部件文件的相关操作
    UG OPEN API编程基础 1概述
    16 UG Open的MFC应用
  • 原文地址:https://www.cnblogs.com/johnnytoo/p/10188059.html
Copyright © 2011-2022 走看看