1.引入Jar包
2.引入Spring的配置文件
引入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"
xmlns:tx="http://www.springframework.org/schema/tx"
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">
<beans/>
3.编写目标类并完成配置
package com.acat.spring.demo3;
public class ProductDaoImpl implements ProductDao {
@Override
public void save() {
System.out.println("保存商品");
}
@Override
public void update() {
System.out.println("修改商品");
}
@Override
public void find() {
System.out.println("查询商品");
}
@Override
public void delete() {
System.out.println("删除商品");
}
}
<!-- 配置目标对象:被增强的对象 -->
<bean id="productDao" class="com.acat.spring.demo3.ProductDaoImpl" ></bean>
4.编写测试类
Spring整合单元测试
1.需要引入Jar包(spring-test-4.2.4.RELEASE.jar)
2.固定注解书写格式
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
package com.acat.spring.demo3;
import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* AOP 的入门
* @author Administrator
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class SpringDemo3 {
@Resource(name="productDao")
private ProductDao productDao;
@Test
public void demo1(){
productDao.find();
productDao.update();
productDao.delete();
productDao.save();
}
}
5.编写一个切面类
package com.acat.spring.demo3;
/**
* 切面类
* @author Administrator
*
*/
public class MyAspectXML {
public void checkPri(){
System.out.println("权限校验==========");
}
}
6.将切面类交给Spring
<!-- 将切面类交个spring管理 -->
<bean id="myAspect" class="com.acat.spring.demo3.MyAspectXML"></bean>
7.通过AOP 的配置完成对目标类产生代理
<!-- 通过AOP 的配置完成对目标类产生代理 -->
<aop:config>
<!-- 表达式配置那些类的那些方法需要进行增强 -->
<aop:pointcut expression="execution(* com.acat.spring.demo3.ProductDaoImpl.save(..))" id="pointcut1"/>
<!-- 配置切面 -->
<aop:aspect ref="myAspect">
<aop:before method="checkPri" pointcut-ref="pointcut1"/>
</aop:aspect>
</aop:config>