Spring Boot入門3 AOP處理請求

2021-07-29 19:27:27 字數 1397 閱讀 5479

在spring boot中,如何用aop實現***呢?

首先加入依賴關係:

org.springframework.boot

spring-boot-starter-aop

希望截攔如下controller:

@restcontroller

public class mycontroller

}

首先要建立乙個攔截類:requestinterceptor

並且使用@aspect和@component標註這個類:

@component

@aspect

public class requestinterceptor

@before("pointcut1()")

public void dobefore()

@around("pointcut1()")

public void around(proceedingjoinpoint thisjoinpoint) throws throwable

@after("pointcut1()")

public void after(joinpoint joinpoint)

@afterreturning("pointcut1()")

public void afterreturning(joinpoint joinpoint)

@afterthrowing("pointcut1()")

public void afterthrowing(joinpoint joinpoint)

}

只需要使用@before,@after等註解就非常輕鬆的實現截攔功能。

這裡需要處理請求,所以我們需要在***中獲取請求。

只需要在方法體中使用:

servletrequestattributes attributes =(servletrequestattributes) requestcontextholder.getrequestattributes();

httpservletrequest request = attributes.getrequest();

就可以獲取到request。

同理也可以在after等方法中獲取response。

獲取request之後,就可以通過request獲取url,ip等資訊。

如果我們想要獲取當前正在攔截的方法的資訊。可以使用joinpoint。

例如:

@after("pointcut1()")

public void after(joinpoint joinpoint)

就可以獲取包名,類名,方法名。

Spring Boot快速入門

spring boot屬性配置檔案詳解 自定義屬性與載入 我們在使用spring boot的時候,通常也需要定義一些自己使用的屬性,我們可以如下方式直接定義 xml xml org.springframework.bootgroupid spring boot starterartifactid d...

spring boot 入門學習

1 spring boot使編碼變簡單 2 spring boot使配置變簡單 3 spring boot使部署變簡單 4 spring boot使監控變簡單 5 spring boot的不足 spring boot簡化建立新應用 spring boot 內嵌了tomcat spring boot ...

Spring Boot 快速入門

spring boot 是由 pivotal 團隊提供的全新框架,其設計目的是用來簡化新 spring 應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。spring boot 被認為是 spring mvc 的 人 它可以幫我們自動配置,如果預設...