一、创建被增强类Book和增强类BookProxy
package com.Spring5.AOPxml;
public class Book {
public void add(){
System.out.println("add... ... ...");
}
}
package com.Spring5.AOPxml;
public class BookProxy {
public void before(){
System.out.println("before... ... ...");
}
}
二、在xml文件中创建这两个类的对象并配置切入点
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
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
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean name="book" class="com.Spring5.AOPxml.Book"></bean>
<bean name="bookproxy" class="com.Spring5.AOPxml.BookProxy"></bean>
<aop:config>
<aop:pointcut id="p" expression="execution(* com.Spring5.AOPxml.Book.add())"/>
<aop:aspect ref="bookproxy">
<aop:before method="before" pointcut-ref="p"></aop:before>
</aop:aspect>
</aop:config>
</beans>
三、测试
创建测试类
package com.Spring5.TestSpring;
import com.Spring5.AOP.User;
import com.Spring5.AOPxml.Book;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestAOP {
@Test
public void testaop(){
ApplicationContext context=new ClassPathXmlApplicationContext("bean1.xml");
Book book=context.getBean("book",Book.class);
book.add();
}
}
运行结果
