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>

  • 相关阅读:
    Golang基础笔记
    PHP面试题
    PHP操作文件常用函数
    转:C#委托与事件
    转:Tkinter教程之Text(2)篇
    Tkinter教程之Text篇(1)
    转:Python 从FTP 下载数据的例子
    转:Python模块学习 ---- httplib HTTP协议客户端实现
    转:Python yield 使用浅析
    有用的网址地址
  • 原文地址:https://www.cnblogs.com/chao666/p/12875551.html
Copyright © 2011-2022 走看看