Java - Spring框架:利用 XML文档配置 Aspect 织入

1 Java 示例代码

1.1 案例介绍

以下展示一个简单的方法增强示例 demo。案例中主要的类是 Target 类和 MyAspect 类。其中,Target 类中的方法应当定义核心业务代码;MyAspect 类中定义 AOP 通知方法。本案例期望引导 Spring 框架实现基于 JDK 的代理,因此还要为 Target 类定义一个接口并实现。最后定义一个测试类作为主方法。

定义 TargetInterface.java 接口及 Target.java 类:

public interface TargetInterface {
   
   
    void save();
}

public class Target implements TargetInterface {
   
   
    public void save() {
   
   
        System.out.println("Target: save running...");
    }
}

定义通知类 MyAspect.java,内部分别定义了一个前置增强方法和后置增强方法。

public class MyAdvice {
   
   

    public void before() {
   
   
        System.out.println("MyAspect: 前置增强.....");
    }

    public void afterReturning() {
   
   
        System.out.println("MyAspect: 后置增强...");
    }
}

定义测试类:

public class XMLAop {
   
   
    public static void main(String[] args) {
   
   
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        TargetInterface target = app.getBean(TargetInterface.class);
        target.save();
    }
}

运行结果:

Target: save running...

1.2 利用 XML 配置 IOC 依赖

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
    ">
    
	<!--配置目标对象-->
    <bean id="target" class="com.abe.aop.xml.Target"/>
</beans>

2 配置织入关系

2.1 导入 AOP 约束

<beans 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
    ">
</beans>

2.2 配置 AOP 织入动作

以下直接给出使用 XML 文档 Aspect 配置方式。在后面的小节将逐个要点加以解释和扩展。

XML Aspect 配置示例:

<!--配置切面对象-->
<bean id="myAspect" class="com.ab
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值