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>

  • 相关阅读:
    获取远程图片的Blob资源
    Vue使用SCSS进行模块化开发
    Vue设置页面的title
    Vue里边接口访问Post、Get
    module.exports 、 exports 和 export 、 export default 、 import
    Vue设置不同的环境发布程序
    记一个鼠标略过时候的css动画
    关于正则表达式中^和$
    [LOJ#2305]「NOI2017」游戏
    [LOJ#6437][BZOJ5373]「PKUSC2018」PKUSC
  • 原文地址:https://www.cnblogs.com/chao666/p/12875551.html
Copyright © 2011-2022 走看看