Spring aop 和 annotation的简单应用

博主首次写AOP示例,对项目中用到的AOP和注解进行总结。介绍了自定义注解,包括target、Retention、Documented的作用;还说明了写切面的要点,如声明切面类、将切面交给Spring管理、增加类型及参数使用等,最后提到在目标方法添加注解来使用。

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

第一次写aop的Dome,还有很多不了解,这里项目里有用到,就个人在这里对这个aop和annotation作出一个总结,有不对的地方请指出。望见凉!

首先自定义一个注解:

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CheckBwUserLogin
{

}

target:声明注解的用的

Retention:注解的生命周期,一般开发都是用RetentionPolicy.RUNTIME

Documented:这个注释是由 javadoc记录的

第二写切面:

@Aspect
@Component
public class AopCheckBwUser {

    @Autowired
    private BwUserService bwUserService;
    @Autowired
    private HttpServletRequest request;

    @Around("@annotation(com.jeesite.modules.bw.annotation.CheckBwUserLogin)")
    public Object checkAccessRight(ProceedingJoinPoint jp) {
        XXXXXXX
        result = jp.proceed(arguments);
        return Object
    }
}

aspect:声明这个类为一个切面类

component :这个切面交给spring管理

around:增加类型,常用还有before,after

ProceedingJoinPoint:这个参数主要是用来调用目标方法

注意:这里的返回类型必须是目标的返回类型

第三,使用,在目标方法添加该注解。

@CheckBwUserLogin
@RequestMapping(value = "/updatePhone")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值