SpringAOP基于AspectJ注解开发

本文介绍了如何在Spring中使用AspectJ注解进行AOP开发,以减少XML配置的复杂性。通过@Aspect、@Pointcut、@Before等注解定义切面和通知类型,并展示了启用注解配置的步骤,包括添加依赖、定义配置类和切面。最后,通过示例演示了异常通知和最终通知的执行情况。
摘要由CSDN通过智能技术生成

基于AspectJ注解开发

在 Spring 中,尽管使用 XML 配置文件可以实现 AOP 开发,但是如果所有的相关配置都集中在配置文件中,势必会导致 XML 配置文件过于臃肿,从而给维护和升级带来一定的困难。

为此,AspectJ 框架为 AOP 开发提供了一套注解。AspectJ 允许使用注解定义切面、切入点和增强处理,Spring 框架可以根据这些注解生成 AOP 代理。

常用的注解:
@Aspect 用于定义一个切面。
@Pointcut 用于定义一个切入点。
@Before 用于定义前置通知
@AfterReturning 用于定义后置通知
@Around 用于定义环绕通知
@AfterThrowing 用于定义抛出通知
@After 用于定义最终final通知,不管是否异常,该通知都会执行。

基于注解开发需要启动注解
使用@Configuration和@EnableAspectJAutoProxy注解

@Configuration
@EnableAspectJAutoProxy(proxyTargetClass = true)  //启用AOP   解析AspectJ注解
public class SpringConfig {
   
}

注意:
本文只是用dao层测试,实际开发还是在service层使用AOP

- 在spring基础上添加AOP需要用到的依赖

        <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
        <!--Spring-aop(必须)
            包含在应用中使用Spring 的AOP 特性时所需的类和源码级元数据支持。-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>5.3.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjrt -->
        <!-- aspectj的runtime包(必须) -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.9.1</version>
        </dependency>
        <dependency>
         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值