先說怎麼使用,超簡單
註解類
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 類 介...