最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot aspect通過@annotation進(jìn)行攔截的實例代碼詳解

 更新時間:2020年08月19日 12:38:40   作者:張占嶺  
這篇文章主要介紹了springboot aspect通過@annotation進(jìn)行攔截的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

annotation就是注解的意思,在我們使用的攔截器時,可以通過業(yè)務(wù)層添加的某個注解,對業(yè)務(wù)方法進(jìn)行攔截,之前我們在進(jìn)行統(tǒng)一方法攔截時使用的是execution,而注解的攔截我們使用@annotation即可,我們可以做個例子,比如搞個防止重復(fù)提交的注解,然后在攔截器里去寫防止重復(fù)提交的邏輯就好了。

攔截器數(shù)據(jù)源

/**
 * 防止重復(fù)提交
 *
 * @author BD-PC220
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface RepeatSubmit {
  /**
   * 間隔多長時間提交,默認(rèn)1秒
   *
   * @return
   */
  long time() default 1;

  /**
   * 作為驗證重復(fù)提交的key,
   *
   * @return
   */
  String key();
}

業(yè)務(wù)實現(xiàn)的攔截器代碼

/**
 * URL重復(fù)提交攔截器.
 */
@Slf4j
@Component
@Aspect
public class RepeatSubmitAspect {
  @Autowired
  StringRedisTemplate redisTemplate;

  @Around("@annotation(repeatSubmit)")
  public Object around(ProceedingJoinPoint proceedingJoinPoint, RepeatSubmit repeatSubmit) throws Throwable {
    log.info("repeatSubmit={}", repeatSubmit.toString());
  }
}

在單元測試?yán)锶ソI(yè)務(wù)方法,然后建立單元測試的方法等

@Component
public class RepeatSubmitController {
  @RepeatSubmit(key = "get")
  public String get() {
    return "success";
  }
}

測試代碼

@RunWith(SpringRunner.class)
@SpringBootTest()
@Slf4j
public class RepeatSubmitTest {
  @Autowired
  RepeatSubmitController repeatSubmitController;

  @Test
  public void test() {
    log.info(repeatSubmitController.get());
  }
}

到此這篇關(guān)于springboot aspect通過@annotation進(jìn)行攔截的文章就介紹到這了,更多相關(guān)springboot aspect通過@annotation攔截內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring框架實現(xiàn)文件上傳功能

    Spring框架實現(xiàn)文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了Spring框架實現(xiàn)文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • spring中@ControllerAdvice 注解的使用

    spring中@ControllerAdvice 注解的使用

    @ControllerAdvice注解是Spring3.2中新增的注解,主要用于Controller的全局配置,本文就來介紹一下spring中@ControllerAdvice 注解的使用,感興趣的可以了解一下
    2024-09-09
  • Springboot RocketMq實現(xiàn)過程詳解

    Springboot RocketMq實現(xiàn)過程詳解

    這篇文章主要介紹了Springboot RocketMq實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Java經(jīng)緯度小數(shù)與度分秒相互轉(zhuǎn)換工具類示例詳解

    Java經(jīng)緯度小數(shù)與度分秒相互轉(zhuǎn)換工具類示例詳解

    這篇文章主要介紹了Java經(jīng)緯度小數(shù)與度分秒相互轉(zhuǎn)換工具類,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • 總結(jié)Java中線程的狀態(tài)及多線程的實現(xiàn)方式

    總結(jié)Java中線程的狀態(tài)及多線程的實現(xiàn)方式

    Java中可以通過Thread類和Runnable接口來創(chuàng)建多個線程,線程擁有五種狀態(tài),下面我們就來簡單總結(jié)Java中線程的狀態(tài)及多線程的實現(xiàn)方式:
    2016-07-07
  • mybatis映射文件操作存儲過程的實現(xiàn)

    mybatis映射文件操作存儲過程的實現(xiàn)

    本文主要介紹了mybatis映射文件操作存儲過程的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • java實現(xiàn)可視化日歷

    java實現(xiàn)可視化日歷

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)可視化日歷,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Java類加載連接和初始化原理解析

    Java類加載連接和初始化原理解析

    這篇文章主要介紹了Java類加載連接和初始化原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Dubbo之降級Mock源碼分析

    Dubbo之降級Mock源碼分析

    這篇文章主要為大家介紹了Dubbo降級Mock源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Failed to execute goal org...的解決辦法

    Failed to execute goal org...的解決辦法

    這篇文章主要介紹了Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1的解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評論

宁海县| 山丹县| 仁布县| 新源县| 当涂县| 高密市| 饶阳县| 共和县| 汉中市| 阜康市| 碌曲县| 大埔县| 茶陵县| 乌兰浩特市| 兴安县| 胶州市| 遂川县| 夏河县| 肥西县| 乐亭县| 恩平市| 察哈| 景东| 阳西县| 宜阳县| 阿鲁科尔沁旗| 孟连| 海宁市| 百色市| 卢湾区| 阆中市| 富川| 兰溪市| 三穗县| 开原市| 钟山县| 台东县| 安福县| 长沙县| 瑞丽市| 轮台县|