spring aop 切面拦截指定类和方法实现流程跟踪
一般情况下,在不侵入业务代码的情况下,需要做流程日志跟踪是比较合理的
采用 springaop 切面思想,
优势:就是为了降低业务代码侵入性,扩展维护方便。
略势:事务的一致性得不到保证。本来应该是受事务控制的两个业务,拆分后就得不
到保障了。
废话不多说,直接上代码:
Java 实现 ben
/**
* SpringAopLog.java 2017 年 10 月 24 日
*/
/**
* <summary>
* <description>
* 自定义切面:拦截流程跟踪记录
*
* @author zx
* @since 2017 年 10 月 24 日
*
*/
public class SpringAopLog {
@Autowired
private LogService logService;
public void before(JoinPoint joinpoint) {
}
public void after(JoinPoint joinpoint) {
}
public void afterReturn(JoinPoint joinpoint, Object ret) {
try {
String classname =
joinpoint.getTarget().getClass().toString().replace("class ", "");
String functionname = joinpoint.getSignature().getName();
Long cid = 0L;
JSONObject jsonObject = JSONObject.parseObject(ret.toString());
String optype = "";