Spring Aop 修改目標方法引數和返回值

2021-08-08 03:36:14 字數 2643 閱讀 4706

首先使用spring-aop需要在spring的配置檔案中假如

一、新建註解

@target()  

@retention(retentionpolicy.runtime)

@documented

public @inte***ce

handlefield

二、建立切面

@component("changeidnoaophandler")

public

class

changeidnoaophandler catch (exception e)

}//執行方法,以新的引數(如果不帶args就是用原先的引數;這裡帶不帶都可以是,上面方法獲取原先引數的引用做的修改)

object returnvalue = joinpoint.proceed(args);

//若未設定,則不需要解密

if(!objectisnullutil.isnullorempty(returnvalue))catch (exception e)

}return returnvalue;

} /***

* *@description(功能描述) : 修改物件idno欄位的值

*@author(作者) :

*@date (開發日期) : 2017-9-13 下午5:30:07

*@exception :

*@param _obj

*@param flag 加密解密字段

*@throws exception void

*/private object changvalue(object _obj, string flag) throws exceptionelse

if(_obj instanceof list)else

}}else

return _obj;

}/**

* *@description(功能描述) : 當物件為map 修改key的值

*@author(作者) : 吳桂鎮

*@date (開發日期) : 2017-9-14 上午11:17:50

*@exception :

*@param _obj

*@param flag

*@return object

*@throws exception

*/@suppresswarnings("unchecked")

private object changemapvalue(object _obj, string flag) throws exception

}return _obj;

}/***

* *@description(功能描述) : 修改object物件field的值

*@author(作者) :

*@date (開發日期) : 2017-9-14 上午11:37:07

*@exception :

*@param _obj

*@param flag

*@return

*@throws exception object

*/private object changobjectvalue(object _obj, string flag) throws exception

break;}}

return _obj;

}/***

* *@description(功能描述) : 加密操作

*@author(作者) :

*@date (開發日期) : 2017-9-14 下午3:20:32

*@exception :

*@param value

*@param flag

*@return string

*@throws exception

*/private string crypto(object value,string flag) throws exception

//加密操作;加密之前先去查詢一下資料庫 有沒有 如果沒有 則insert

if (encrypt_flag.equals(flag)) else

}else

}return

null;

}public

static

void

main(string args) throws exception

}

三、註解使用

@component

public

class

susrservice

implements

isusrservice,decrypresultfieldname="usrcde")

public susr selectonebyobject(susr su)

}

(13)Spring AOP為目標物件引入新介面

正常用ioc獲取乙個bean 介面package shuai.spring.study.service public inte ce ihelloservice 實現類package shuai.spring.study.service.impl import shuai.spring.study....

Spring AOP簡單使用方法

顧名思義 aop aspect oriented programming 字面意思是面向切面程式設計,aop所帶來的好處是能提取具有共同功能的 塊,比如使用者取款流程需要用到1.使用者密碼的驗證 2.使用者查詢餘額需要用到密碼的驗證 那麼兩者之間的共同密碼驗證功能的邏輯實現則可以提取出來,提取出來的...

spring aop 妙用 方法引數校驗

業務場景 在實現業務的過程中,往往都需要寫一些繁瑣的判斷引數是否為null的 介面spring aop 加註解實現通用的處理方法,使 更為簡潔 1.先寫好註解類 retention retentionpolicy.runtime target documented public inte ce jp...