Spring AOP不生效的原因(切入点表达式错误)

本文讲述了项目中AOP模块不生效的案例,涉及接口权限检查,通过修正切入点表达式解决了问题,提供了解决此类问题的步骤和技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring AOP不生效的原因(切入点表达式错误)

背景

接手了一个写了一半的项目,发现其中的AOP模块不生效,着手开始修改

要实现的功能是在接口调用前判断该接口是否在时间线之内,不是的话则抛出异常从而不执行接口

代码

注解类

package com.neu.annotion;

import java.lang.annotation.*;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface TimeAvailableLimit {
   

    /**
     * 接口可用的阶段
     */
    int[] availableStage();
}

切面类

package com.neu.config.aop;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.neu.annotion.TimeAvailableLimit;
import com.neu.config.exception.BizException;
import com.neu.entity.Timeline;
import com.neu.mapper.TimelineMapper;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.core.LocalVariableTableParameterNameDiscoverer;
import org.springframework.stereotype.Component;

import javax.annotation.<
### 使用Terraform配置阿里云OSS存储服务 #### 准备工作 为了能够使用 Terraform 来管理和配置阿里云 OSS 资源,需先安装并初始化 Terraform 工具环境,并设置好访问凭证以便于操作阿里云资源。这通常涉及到下载和安装最新版本的 Terraform 并确保其路径已添加到系统的 PATH 环境变量中。 对于阿里云的具体支持,在 `versions.tf` 文件中定义所需使用的 Terraform 版本以及 AliCloud 提供商插件版本: ```hcl terraform { required_version = "1.6.6" required_providers { alicloud = { source = "hashicorp/alicloud" version = "1.214.1" } } } ``` #### 创建 OSS Bucket 的 Terraform 配置文件 创建一个新的 `.tf` 文件用于描述想要创建的对象存储 bucket 及其他相关属性。下面是一个简单的例子来展示如何声明一个名为 `example-bucket-name` 的公共读取权限的 OSS 存储空间[^4]。 ```hcl provider "alicloud" { region = "cn-hangzhou" // 替换成实际区域 } resource "alicloud_oss_bucket" "example" { bucket = "example-bucket-name" acl = "public-read" cors_rule { allowed_methods = ["GET", "PUT"] allowed_origins = ["*"] } lifecycle_rule { id = "log" status = "Enabled" prefix = "logs/" enabled = true expiration = 365 } } ``` 这段代码不仅限定了所创建bucket的名字及其访问控制列表(Access Control List),还设置了跨域资源共享(CORS)规则允许来自任何地方发起 GET 和 PUT 请求;另外也设定了生命周期管理策略,针对前缀为 “logs/” 的对象设定一年后的过期时间[^1]。 完成上述配置之后,可以通过执行命令 `terraform init`, `terraform plan` 查看即将应用的变化详情,最后运行 `terraform apply` 执行资源配置或更新动作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值