Spring AOPでメソッドの引数の名前と値を取得する方法をメモしておきます。指定のメソッドが呼ばれた際、「id=001 name=Alice age=18
」のように「メソッドの引数の名前=メソッドの引数の値」形式でログ出力したいときに使えます。
環境
Spring AOPでメソッドの引数の名前と値を取得する方法
メソッドの引数の名前と値どちらもJoinpoint
のメソッドを使って取得できます。具体的には、メソッドの引数の名前は((CodeSignature) joinPoint.getSignature()).getParameterNames()
、メソッドの引数の値はjoinPoint.getArgs()
で取得できます。どちらも配列で取得できるので、for
文でくるくる回して、「メソッドの引数の名前=メソッドの引数の値」形式などに整形してやればOKです。
まとめ
Spring AOPでメソッドの引数の名前と値を取得する方法でした。