tip:配置切面 执行相关操作
一:添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
二:编写控制类
@RestController
public class HelloController {
@RequestMapping("/add")
public String addData(Menu menu) {
return "success";
}
@RequestMapping("/update")
public String updateData(Menu menu) {
return "success";
}
@RequestMapping("/delete")
public String deleteData(String Id) {
return "success";
}
}
三:配置切面
package com.hyhh.microcloud.config;
import com.hyhh.microcloud.util.EHCacheUtil;
import net.sf.ehcache.Cache;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class AuthorityAopConfig {
@Pointcut(""execution(public * com.example.demo.controller.HelloController.add*(..))"")
public void AopRRDelete(){}
@Pointcut("execution(* com.example.demo.controller.HelloController.update*(..))")
public void AopAopRRUpdate(){}
@Pointcut("execution(* com.example.demo.controller.HelloController.delete*(..))")
public void AopMuneDelete(){}
@Pointcut("AopRRDelete()||AopAopRRUpdate()||AopRRAdd()")
public void AopConfig4(){}
@After("AopConfig4()")
public void fun1() throws Throwable {
EHCacheUtil.removeAll("UserLogin");
Cache userLogin = EHCacheUtil.getCache("UserLogin");
System.out.println("完成切面"+userLogin.getSize());
}
}
四:只要调用这个HelloController 中的这几个方法 然后执行清除缓存的操作 就ok