自定義AOP實現註解式redis快取

2021-10-06 20:03:39 字數 1226 閱讀 9837

先說怎麼使用,超簡單

註解類

string desc() default ""; //描述

long expire() default 60; //快取過期時間 單位:秒

string key();

boolean param() default false; //快取key是否需要拼湊引數

} //無引數快取的

public listfindall()

//根據引數快取的

public languagetextentity findbykey(string key)

@resource

rediscommondao rediscommondao;

}object args = jp.getargs();

class<?> paramscls = new class<?>[args.length];

for (int i = 0; i < args.length; ++i)

method method = jp.gettarget().getclass().getmethod(jp.getsignature().getname(), paramscls);

try

string datacachestr=rediscommondao.get(cachekey);

if(stringutils.isblank(datacachestr))

//找到快取,反序列化成物件

return jsonutils.readvalue(cachevalue, new typereference()

});} catch (exception e) ",e);

return jp.proceed();}}

//下面是json工具類,可替換成自己的序列號反序列化方法

public static t readvalue(string jsonstr, classclazz)

try catch (exception e) , message:{}", jsonstr, e.getlocalizedmessage());

return null;}}

public static final logger logger = logge***ctory.getlogger(jsonutils.class);

static

AOP 自定義註解

compile org.springframework.boot spring boot starter aop aspect component public class auditaspect before weblog public void debefore joinpoint joinpo...

自定義註解AOP

專案中有些模組需要加入工作流審批流程,並且可以選擇是否開啟工作流。於是根據需求就想到了用aop做乙個通用的模組開關檢驗。如果模組沒有開啟工作流,就直接放行。如果開啟了工作流,就啟動該模組的工作流流程。下面上 target elementtype.method retention retentionp...

通過 aop 寫 自定義註解

target elementtype.method retention retentionpolicy.runtime public inte ce iface1 target target說明了annotation所修飾的物件範圍 annotation可被用於 packages types 類 介...