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>

  • 相关阅读:
    【试水CAS-4.0.3】第07节_CASclient配置单点登录
    30分钟,让你彻底明白Promise原理
    【你离硅谷只差一步】网易中国创业家大赛项目火热征集中
    21分钟学会写编译器
    Android 模拟器下载、编译及调试
    GitLab 自动触发 Jenkins 构建
    微服务监控探索
    感觉要火!妹子实地采访网易猪厂程序员七夕怎么过
    延迟任务调度系统—技术选型与设计(下篇)
    使用QUIC
  • 原文地址:https://www.cnblogs.com/chao666/p/12875551.html
Copyright © 2011-2022 走看看