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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot 使用AOP功能

發布時間:2025/3/12 javascript 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot 使用AOP功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RPC,AOP都會用到代理,代理的技術有jdk的Proxy代理(必須實現接口),cglib(可以不實現接口,直接實現類),Javassist(jboss )而Spring boot本身也在方方面面使用了代理技術,在Spring中有兩種動態代理方式,分別為jdk動態代理和CGLIB動態代理。

下面主要講述,springboot如何使用AOP功能

1.POM文件中添加依賴

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency>

2.在application.properties中加入配置

spring.aop.auto=true

PS:其實springboot此配置是默認開啟的,所以根本可以不用管了,在Springboot中使用過注解配置方式的人會問是否需要在程序主類中增加@EnableAspectJAutoProxy來啟用,實際并不需要。看下面關于AOP的默認配置屬性,其中spring.aop.auto屬性默認是開啟的,也就是說只要引入了AOP依賴后,其實默認已經增加了@EnableAspectJAutoProxy。

# AOP spring.aop.auto=true # Add @EnableAspectJAutoProxy. spring.aop.proxy-target-class=false # Whether subclass-based (CGLIB) proxies are to be created (true) 此處是設置是否開啟CGLIB代理,默認不開啟,相當于spring xml中 <aop:aspectj-autoproxy proxy-target-class="true"/>, 不過后面會有點奇怪的問題,springboot中,不管這個項是否設置為true或者false,都不會跟以前spring項目中, 如果沒有設置為true,當代理類沒有繼承接口,啟動項目的時候會報錯。而springboot項目中,會自動轉換成使用 CGLIB進行動態代理,其中原理是怎么實現,就沒有去看底層代碼了,估計底層進行了改造吧!

3.利用注解方式,實現AOP實現類。

import java.util.Arrays;import javax.servlet.http.HttpServletRequest;import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes;@Aspect @Component public class WebLogAspect {private Logger logger = LoggerFactory.getLogger(WebLogAspect.class);@Pointcut("execution(public * com.springboot.test.controller.*.*(..))")public void webLog(){System.out.println("begin");}@Before("webLog()")public void doBefore(JoinPoint joinPoint) throws Throwable {// 接收到請求,記錄請求內容ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request = attributes.getRequest();// 記錄下請求內容logger.info("URL : " + request.getRequestURL().toString());logger.info("HTTP_METHOD : " + request.getMethod());logger.info("IP : " + request.getRemoteAddr());logger.info("CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName());logger.info("ARGS : " + Arrays.toString(joinPoint.getArgs()));}@AfterReturning(returning = "ret", pointcut = "webLog()")public void doAfterReturning(Object ret) throws Throwable {// 處理完請求,返回內容logger.info("RESPONSE : " + ret);}}

測試:

情況1:spring.aop.proxy-target-class=false,實現類沒有繼承接口。

上圖可以說明使用了CGLIB動態代理。這里就可以看出,spring.aop.proxy-target-class好像并沒有其效果,這個我都沒有去深究了。有誰知道的,請留言一下咯!

情況2:spring.aop.proxy-target-class=false,實現類繼承了接口。

上圖可以看出使用了jdk動態代理!

情況3:spring.aop.proxy-target-class=true,實現類繼承了接口。

上圖可以看出使用了CGLIB動態代理。這里就可以看出,spring.aop.proxy-target-class起效果了。

結論:就是不太清楚情況一,為什么不會報錯,知道的牛人,可以留言喔!

總結

以上是生活随笔為你收集整理的SpringBoot 使用AOP功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色女女 | 羞羞漫画在线 | 精品国产高清在线观看 | 九九视频在线免费观看 | 日韩在线一卡 | 欧美成人不卡视频 | 大片视频免费观看视频 | 老司机在线看片 | 3d动漫精品啪啪一区二区三区免费 | 中文字幕av免费 | 婷婷亚洲综合 | 免费成人在线观看动漫 | 久久综合免费视频 | 人妻在卧室被老板疯狂进入 | 久青草视频 | 日本三不卡 | 噼里啪啦国语版在线观看 | 亚洲区小说区图片区 | 亚洲欧美日韩在线不卡 | 波多野结衣视频在线看 | 久久久亚洲| 久射久 | av色吧| 欧美性猛交xxxx乱大交俱乐部 | 欧美天堂视频 | 色图自拍 | 色欲久久久天天天精品综合网 | 一级毛毛片 | 成av人片一区二区三区久久 | 久久久亚洲欧美 | 成人午夜免费观看 | 黄色激情av | 人人草超碰 | 好吊色视频988gao在线观看 | 激情综合丁香五月 | 调教小屁屁白丝丨vk | 午夜窝窝| 日韩视频中文字幕 | 娇喘顶撞深初h1v1 | 亚洲第一页综合 | 五月综合激情 | 一道本av在线 | 911美女片黄在线观看游戏 | 五月天视频 | 人妻少妇精品一区二区 | 女人张开双腿让男人捅 | 一区二区三区激情视频 | 台湾佬在线 | 日韩av一区在线观看 | 日韩av第一页 | 国产一区二区在线电影 | 成人看片网站 | 后进极品美女白嫩翘臀 | 超碰成人网 | 又白又嫩毛又多15p 超碰在线一区 | 青娱乐国产在线视频 | 91视频免费观看网站 | 亚洲一本在线观看 | 亚洲激情社区 | 青青在线精品 | 杨幂毛片午夜性生毛片 | 黄色香蕉网站 | 钰慧的mv视频在线观看 | 国产精品久久久无码一区 | 中文在线а√天堂 | jvid视频| 日韩视频免费看 | 国产色在线观看 | 久久夜色精品国产噜噜亚洲av | 国产调教视频在线观看 | 香蕉小视频 | 久久久久久欧美 | 日批免费观看 | 九九热精品视频在线 | 日韩精品999 | 久久精品免费电影 | 美女mm131爽爽爽免费动视频 | 欧美黄色录像视频 | 色偷偷资源网 | 日韩av一区在线播放 | 亚洲精品在线一区二区 | 亚洲伦理天堂 | 欧美第一页浮力影院 | 亚洲成人a∨ | 色噜噜狠狠一区二区三区牛牛影视 | 欧美综合亚洲 | 国精品一区二区三区 | 久久视频一区 | 91综合国产| 亚洲精品一区二区三 | 五月天久久综合 | 碰碰97| 日本美女一区二区 | 秋霞成人| 村姑电影在线播放免费观看 | 一级特黄肉体裸片 | 真性中出| 日韩视频在线观看二区 | 日日色av|