在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 的 人 它可以幫我們自動配置,如果預設...