2021-08-16 AOP与Ajax

AOP

面向切面编程的思想,补充了面向对象的不足

对方法的增强,本质上就是在执行方法的前后添加功能

经典使用场景:统计性能分析、权限管理,事务管理,日志,缓存

好处: 让程序员更专注业务代码本身
切面: 本质上就是一个类
通知: 本质上就是一个方法,定义一些功能

前置通知@before

后置通知@after

环绕通知@around

@PointCut表示切点

@Aspect表示一个切面类

1.添加jar包

<!--添加aop依赖包-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>
 

测试类

package cn.tedu.serive;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Service;

@Service
@Aspect
//标记着这是一个aop的类:切面(由切点和组成)
public class AopAspect {
    //切点表达式: *表示1个 ..表示多个 *依次代表方法返回值,类名,方法名,(..)是参数列表
    @Pointcut("execution( * cn.tedu.serive..*.*(..))")
    public void point (){}
    @Around("point()")//环绕通知
    public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable{
        long start = System.currentTimeMillis();
        Object o = joinPoint.proceed();//执行你的业务方法
        long end = System.currentTimeMillis();
        System.out.println(end-start);

        String methodname = joinPoint.getTarget().getClass().getName()//获取类名
                +"."+joinPoint.getSignature().getName();//获取方法名

        return o;
    }
}

3,测试

启动服务器 , 访问指定包 里的资源时 , 就会自动触发切面中通知的功能.

二,Ajax

–1,概述

全称 异步的js and xml ,
好处: 异步访问 , 局部刷新

–2,步骤

导入vue.js和axios.js

语法:axios.get(url).then( a=>( a表示服务器返回的结果 ) )

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="vue.js" type="text/javascript" charset="utf-8"></script>
	<script src="axios.min.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			{{info}}
		</div>
		<script type="text/javascript">
			new Vue({
				el:"#app",
				data:{
					info:"",				
				},
				mounted:function(){
					axios.get("http://localhost:8080/car/get").then(
					a=>(
					this.info=a.data
					)
					)
				}			
			})
		</script>
		
	</body>
</html>

修改服务器的Controller代码

添加一个注解,@CrossOrigin //放行JS的请求–跨域的解决方案

在这里插入图片描述

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值