SpringAOP 动态代理技术

1.导入AOP相关的坐标

<dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.4</version>
    </dependency>

2.创建目标接口和实现目标类

//实现类 需要增强的方法:
public class ProxyTargetImpl implements ProxyTarget {
    @Override
    public void save() {
        System.out.println("ProxyTargetImpl的方法执行了");
    }
}

3.创建切面类 advice 内部有增强方法

//切面类 定义增强方法

public class MyAspect {
    public void before(){
        System.out.println("前置增强执行了...");
    }
}

4.将目标类和切面类的对象创建权交给SpringIOC管理

<!--aop配置:把目标对象配进IOC容器-->
    <bean id="proxyTarget" class="com.itcast.aop.ProxyTargetImpl"></bean>
    <!--配置切面-->
    <bean id="myApsect" class="com.itcast.aop.MyAspect"></bean>

5.在applicationContext.xml中配置织入关系

<!--配置织入 告诉spring框架 哪些方法(切点)需要哪些增强-->
    <aop:config>
        <aop:aspect ref="myApsect">
            <aop:before method="before" pointcut="execution(public void com.itcast.aop.ProxyTargetImpl.save())"></aop:before>
        </aop:aspect>
    </aop:config>

6.测试

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class test {

    @Autowired
    private ProxyTarget target;

    @Test
    public void test1(){
        target.save();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值