zoukankan      html  css  js  c++  java
  • AOP的三种实现方式之一通过xml配置文件实现

    1. 在配置文件中导入AOP依赖

    xmlns:aop="http://www.springframework.org/schema/aop"
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop.xsd 

    2. 编写接口

    package com.yd.demo;
    
    public interface UserService {
        public void add();
        public void delete();
        public void update();
        public void query();
    }

    3. 编写接口实现类

    package com.yd.demo;
    
    
    public class UserServiceImpl implements UserService {
        public void add() {
            System.out.println("add ...");
        }
    
        public void delete() {
            System.out.println("delete ...");
        }
    
        public void update() {
            System.out.println("update ...");
        }
    
        public void query() {
            System.out.println("query ...");
        }
    }

    4. 编写切面类

    package com.yd.demo;
    
    public class PointCut {
        public void ponitcut(){
            System.out.println("aop cut ....");
        }
    }

    5. 编写配置文件,使用配置文件实现AOP。

    <?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.xsd ">
    
        <bean id="userService" class="com.yd.demo.UserServiceImpl"/>
    
        <!--创建切面类对象-->
        <bean id="pointCut" class="com.yd.demo.PointCut"/>
    
        <!--配置aop-->
        <aop:config>
            <!--配置切面-->
            <aop:aspect ref="pointCut">
    
                <!--配置切入点-->
                <aop:pointcut id="diyPointCut" expression="execution(* com.yd.demo.UserServiceImpl.*(..))"/>
    
                <!--配置切入方法-->
                <aop:before method="ponitcut" pointcut-ref="diyPointCut"/>
    
            </aop:aspect>
    
        </aop:config>
    
    </beans>

  • 相关阅读:
    [swustoj 243] 又是一年CET46
    [转] 解析Qt资源文件使用
    [转] Qt 多线程学习
    USACO全部测试数据
    [HUD 1195] Open the Lock
    Vue-cli+webpack单页模式详解(转)
    关于vs code终端执行webpack命令报错问题(转)
    git使用相关记录
    关于flex布局兼容
    canvas绘画交叉波浪
  • 原文地址:https://www.cnblogs.com/chao666/p/12875551.html
Copyright © 2011-2022 走看看