全注解式开发AOP

本文介绍了如何在Spring框架中配置AOP依赖,包括常用的注解如@Aspect,@Before,@After等,以及全注解式开发的示例,展示了如何利用注解处理日志和事务等非业务逻辑。
摘要由CSDN通过智能技术生成

在全注解开发之前,先配置好依赖,参考以下文章,注意这时就不需要配置文件了,只要把依赖复制到pom里就可以了
Spring的AOP基于注解之准备工作(需要添加的依赖以及配置文件)

注解和使用说明
Aop一般有以下常用注解:

@Aspect: 该注解是把此类声明为一个切面类。

@Before: 该注解是声明此方法为前置通知 (目标方法执行之前就会先执行被此注解标注的方法)

@After: 该注解是声明此方法为后置通知 (目标方法执行完之后就会执行被此注解标注的方法)

@AfterReturning: 该注解是声明此方法为返回通知 (目标方法正常执行返回后就会执行被此注解标注的方法)

@AfterThrowing: 该注解是声明此方法为异常通知 (目标方法在执行出现异常时就会执行被此注解标注的方法)

@Around: 该注解是环绕通知是动态的,可以在前后都设置执行

@PointCut: 该注解是声明一个公用的切入点表达式(通知行为的注解的都可以直接拿来复用)

如果是注解式开发还会用到@EnableAspectJAutoProxy: 该注解是声明这个配置类使用注解式的AOP(还有一种古老的方式是在xml文件里声明开启AOP)
需要查看注解的示例详情,小编建议先请看以下文章:
Aop注解演示
什么时候会用到AOP: 写日志,事务等,就是一些不是业务逻辑代码要做的事就交给AOP来完成。

全注解式开发就是编写一个类,在这个类上面使用大量注解来代替spring的配置文件,spring配置文件消失了,如下:

package com.powernode.spring6.service;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;

@Configuration
@ComponentScan("com.powernode.spring6.service")
@EnableAspectJAutoProxy(proxyTargetClass = true)
public class Spring6Configuration {
}

测试程序也变化了:

@Test
public void testAOPWithAllAnnotation(){
    ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Spring6Configuration.class);
    OrderService orderService = applicationContext.getBean("orderService", OrderService.class);
    orderService.generate();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值