本文写一个解决密码有空格时数据兼容处理
具备快速搭建一个AOPdemo的能力,能够利用Spring打印URL和密码
回顾几个注解的使用
@Component
@ComponentScan("com.itheima")
@Import(MyAdvice.class)
@EnableAspectJAutoProxy
AOP配置
@Aspect
声明此类AOP,获取地址URL和密码,然后修改密码,移除密码里面空格,需要用到通知类型的环绕@Around
注解。
获取到请求参数,用到了getArgs()
,其返回一个数组对象,值为请求的形参值,for遍历获取每个形参
Object[] args = pjp.getArgs();
字符串移除空格方法.trim
@Component
@Aspect
public class MyAdvice {
@Pointcut("execution(* com.itheima.dao.ResourceDao.openURL(..))")
public void pt(){}
@Around("pt()")
public Object around(ProceedingJoinPoint pjp) throws Throwable {
Object[] args = pjp.getArgs();
System.out.println(Arrays.toString(args));
for (int i = 0; i < args.length; i++) {
if (args[i].getClass().equals(String.class)){
args[i] = args[i].toString().trim();
}
}
Object o = pjp.proceed(args);
return o;
}
}
网友评论