日韩性视频-久久久蜜桃-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功能的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 一区二区三区在线观看视频 | 欧美高清| 国产亚洲第一页 | 欧美丰满美乳xxx高潮www | 六月天综合网 | 欧美极品喷水 | 久草手机在线观看 | av拍拍拍 | 91成人国产综合久久精品 | 国产美女视频网站 | 国产老头和老头xxxx× | 一个人看的www日本高清视频 | 伊人伊人鲁 | 黄网站色视频免费观看 | 国产福利精品视频 | 黑丝美女一区二区 | 国产又粗又硬视频 | 黄色a级片在线观看 | 伊人网国产 | 爱爱免费小视频 | 岛国av在线免费观看 | 超碰碰97| 亚洲成人动漫在线观看 | 国产精品久久久久久久久借妻 | 久久久久久久久久久99 | 久久黄页 | 在线欧美国产 | 亚洲国产精品国自产拍久久 | 小萝莉末成年一区二区 | 六月色 | 日本囗交做爰视频 | 影音先锋中文字幕一区二区 | 国内9l自拍 | 精品国产91 | 日本亚洲黄色 | 亚洲国产毛片aaaaa无费看 | 欧美日韩网址 | 一区二区三区在线视频播放 | xxxxxx黄色 | 亚洲大尺度网站 | 亚洲人人人 | 欧日韩一区二区三区 | 伊人影院中文字幕 | 久久看av | 日日夜夜精品 | 在线五月天 | 一区二区三区精品国产 | 永久免费的av网站 | 成人影视免费观看 | 成人午夜sm精品久久久久久久 | 成人欧美一区二区三区黑人一 | 久久曹| 亚洲天天做 | 欧亚免费视频 | 少妇紧身牛仔裤裤啪啪 | 尤物毛片| 国产中文字幕在线观看 | 日韩精品一区二区三区四区 | 国产一卡二卡三卡 | 日韩www视频 | www一区二区 | 黑鬼巨鞭白妞冒白浆 | 黄页视频在线免费观看 | 在线视频1卡二卡三卡 | 瑟瑟网站在线观看 | 亚欧在线视频 | 深夜福利视频导航 | 国产精品亚洲一区二区三区在线观看 | 性爱免费在线视频 | 大尺度电影在线 | 国产在线精品自拍 | 国产午夜视频在线播放 | 三区在线视频 | 国产免费a级片 | 用力使劲高潮了888av | 久久精品亚洲一区 | 亚洲天堂国产精品 | 亚洲AV无码国产成人久久 | 日日插日日操 | 欧美视频亚洲视频 | 欧美 日韩 国产精品 | 综合黄色 | 中文字幕一区二区三区四区不卡 | 亚洲欧美日韩在线看 | 波多野结衣在线观看一区 | 男人天堂新地址 | 国产不卡一区二区视频 | 国内毛片毛片 | av毛片观看 | 国语对白做受69按摩 | 成人在线午夜 | 成年人在线播放 | 无码国产精品久久一区免费 | 狠狠操网址 | 欧美成人午夜精品久久久 | 久久久久久av | 男女黄床上色视频 | 亚洲成人福利 | 国产欧洲亚洲 |