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>

  • 相关阅读:
    vsc连接wsl时node进程占用cpu高
    LifeCycles属性
    让kbmMWClientQuery更新视图
    uniGUI免登录的实现
    uniGUI 快速定制手机端输入界面布局
    更新IDE的背景
    Delphi 10.4.1来了
    如何修改windows服务器最大的tcp连接数
    uniGUI怎么升级jquery
    【转】UniGUI的布局使用说明
  • 原文地址:https://www.cnblogs.com/chao666/p/12875551.html
Copyright © 2011-2022 走看看