日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java自定义注解实现日志功能

發(fā)布時間:2025/3/12 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java自定义注解实现日志功能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、spring aop的通知類型
1、前置通知(@Before):在連接點前執(zhí)行,不會影響連接點的執(zhí)行,除非拋異常;
2、后置通知(@AfterReturning):在連接點正常執(zhí)行完成后執(zhí)行,若連接點拋出異常,則不執(zhí)行;
3、后置通知(@AfterThrowing):在連接點拋出異常后執(zhí)行;
4、后置通知(@After):在連接點執(zhí)行完成后執(zhí)行,不管有無異常,都會執(zhí)行通知;
5、環(huán)繞通知(@Around):在連接點執(zhí)行前后執(zhí)行,joinPoint.proceed()之前為前置通知,之后為后置通知。
二、使用環(huán)繞通知實現(xiàn)自定義注解日志功能
1、代碼結(jié)構(gòu)如下


2、配置文件application.properties

spring.aop.auto = true:開啟spring的aop功能

3、用@interface定義一個注解OperateLogAnnotation,即暴露在外的自定義注解
4、定義切面:LogAspect,實現(xiàn)通知的具體內(nèi)容

a、定義一個切入點,即為第三步頂一個OperateLogAnnotation類 b、定義一個環(huán)繞通知的方法,這里調(diào)用連接點的proceed()方法,啟動目標方法,在該方法前后可添加通知信息。

5、定義一個日志對象,用來保存日志的實例
6、定義兩個枚舉類,OperateLogAnnotation用到的
7、使用自定義注解

將自定義注解加到service方法上,啟動項目,訪問 http://localhost:10000/user/findUserNameByTel?tel=1234567 ,控制臺打印如下日志

記錄日志:OperationLog{id='afd2d9a5-c6ef-434d-9217-fcfc03009d51', createTime=Wed Jul 17 10:13:26 CST 2019, level=3, operationUnit='user', method='com.cyh.service.UserService.findUserName', args='["1234567"]', userId='null', userName='null', describe='null', operationType='select', runTime=2, returnValue='"zhangsan"'}

總結(jié)

以上是生活随笔為你收集整理的java自定义注解实现日志功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。