场景:有主模块A,引用模块B,模块B作为jar 包为主模块A的依赖,其中A有个功能,需要在B中修改代码(或者B中执行某个函数或方法之后做出改动,改动的数据需要在主模块中做出持久化操作),这里涉及到数据操作,由于数据复杂,可以前端调B获取数据再到前端,调A来执行持久化(),这里操作就会复杂化,多次调用后端,对性能不好,数据一大,性能不怎么好!如果在掉B后直接引用A来持久化,就会出现,A依赖B,B依赖A。耦合度大高,怕会出问题,就采用Aop编程实现
Spring AOP面向切面编程,可以用来配置事务、做日志、权限验证、在用户请求时做一些处理等等。用@Aspect做一个切面,就可以直接实现。
1.首先定义一个切面类,加上@Component @Aspect这两个注解
@Aspect @Component public class A{
public static Logger logger = LoggerFactory.getLogger(TmContractInfoToTamParamterConfiguration.class);//打印日志信息
}
2,定义一个切点(即切入点,一般为监听点(即当程序执行某个方法坚挺到))
private final String tmContractInfo_EXECUTION= "execution(public * com.xhx.springboot.controller.*.*(..))";
@