如果不适用接口,那么必须自己定义通知类并在xml配置文件中设置!
不使用接口完成AOP,很大概率Spring使用的是cglib动态代理
Log2.java
package com.atstudy.log;
/**
* 不使用接口完成AOP,很大概率Spring使用的是cglib动态代理
*/
public class Log2
{
/**
* 用于前置通知的方法
*/
public void before()
{
System.out.println("方法调用了...");
}
/**
* 用于最终通知的方法
*/
public void after()
{
System.out.println("方法执行完了...");
}
}
spring.xml 此处只粘贴关键代码
<bean id="log2" class="com.atstudy.log.Log2"></bean>
<!--配置不使用接口的AOP-->
<aop:config>
<!--
在指定切入点使用Log2完成前置通知和后置通知
-->
<aop:aspect ref="log2">
<!--配置切入点-->
<aop:pointcut id="qrd" expression="execution(* com.atstudy.controller.*.*(..))"/>
<!--