SpringBoot自定義注解+異步+觀察者模式實現業務日志保存( 三 )

6. 監聽者@Async:單獨開啟一個新線程去保存,提高效率!@EventListener:監聽
/** * @author wangzhenjun * @date 2022/10/25 15:22 */@Slf4j@Componentpublic class MyEventListener {@Autowiredprivate TestService testService; // 開啟異步@Async// 開啟監聽@EventListener(SysLog.class)public void saveSysLog(SysLog event) {log.info("=====即將異步保存到數據庫======");testService.saveLog(event);}}五、測試1. controller/** * @author wangzhenjun * @date 2022/10/26 16:51 */@Slf4j@RestController@RequestMapping("/test")public class TestController {@Log(title = "測試呢",businessType = BusinessTypeEnum.INSERT)@GetMapping("/saveLog")public void saveLog(){log.info("我就是來測試一下是否成功!");}}2. service/** * @author wangzhenjun * @date 2022/10/26 16:55 */public interface TestService {int saveLog(SysLog sysLog);}/** * @author wangzhenjun * @date 2022/10/26 16:56 */@Servicepublic class TestServiceImpl implements TestService {@Autowiredprivate TestMapper testMapper;@Overridepublic int saveLog(SysLog sysLog) {return testMapper.insert(sysLog);}}3. mapper這里使用mybatis-plus進行保存
/** * @author wangzhenjun * @date 2022/10/26 17:07 */public interface TestMapper extends BaseMapper<SysLog> {}4. 測試

SpringBoot自定義注解+異步+觀察者模式實現業務日志保存

文章插圖
5. 數據庫
SpringBoot自定義注解+異步+觀察者模式實現業務日志保存

文章插圖
六、總結鐺鐺鐺,終于完成了!這個實戰在企業級必不可少的,每個項目搭建人不同,但是結果都是一樣的 , 保存日志到數據,這樣可以進行按鈕的點擊進行統計 , 分析那個功能是否經常使用,那些東西需要優化 。只要是有數據的東西,分析一下總會有收獲的!后面日志多了就行分庫分表,ELK搭建 。知道的越多不知道的就越多,這一次下來,知道下面要學什么了嘛?。?
可以看下一小編的微信公眾號,和網站文章首發看,歡迎關注,一起交流哈?。?![](https://img2022.cnblogs.com/blog/2471401/202210/2471401-20221028085553420-1506161649.jpg)
點擊訪問!小編自己的網站 , 里面也是有很多好的文章哦!
【SpringBoot自定義注解+異步+觀察者模式實現業務日志保存】

推薦閱讀