public class ceshi{
public static void main(String args[]){
ApplicationContext context=new ClassPathXmlApplicationContext("file:C:/Users/Administrator/workspace/test/src/test/aop.xml");
Log log=(Log)context.getBean("exetor");
log.record();
}
}
interface Log{
void record();
}
class Exetor implements Log{
public void record(){
System.out.println("运行");
}
}
class Record {
public void before(){
System.out.println(System.currentTimeMillis());
}
public void after(){
System.out.println(System.currentTimeMillis());
}
}
配置文件
<?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="exetor" class="test.Exetor"/>
<bean id="record" class="test.Record"/>
<aop:config>
<aop:pointcut id="pointcut" expression="execution(* test.Log.record(..))"/>
<aop:aspect ref="record" >
<aop:before method="before" pointcut-ref="pointcut"/>
<aop:after method="after" pointcut-ref="pointcut"/>
</aop:aspect>
</aop:config>
</beans>