日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

本文介紹了如何創(chuàng)建切入點(diǎn)來(lái)偽裝支持接口繼承的客戶端?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

在一個(gè)Spring Boot項(xiàng)目中,我有一個(gè)簡(jiǎn)單的假客戶端

@MyAnnotation
@FeignClient(name="some-name", url="http://test.url")
public interface MyClient {
    @RequestMapping(method = RequestMethod.GET, value = "/endpoint")
    List<Store> getSomething();
}

我需要攔截所有調(diào)用,為此,我正在創(chuàng)建一個(gè)可在不同項(xiàng)目中使用的公共庫(kù)。為了實(shí)現(xiàn)它,我嘗試使用了Spring AOP。我創(chuàng)建了一個(gè)方面,它包裝了用MyAnnotation

注釋的對(duì)象的所有公共方法

@Around("@within(MyAnnotation) && execution(public * *(..))")
public Object myWrapper(ProceedingJoinPoint invocation) throws Throwable {
   // ...
}

它工作正常,所有調(diào)用都會(huì)被截獲,直到我嘗試將MyAnnotation放在使用feign接口繼承的feign客戶端上。當(dāng)我使用繼承的接口調(diào)用初始化我的客戶端時(shí),不再被攔截。

public interface FeignClientInterface {
    @RequestMapping(method = RequestMethod.GET, value = "/endpoint")
    List<Store> getSomething();
}

@MyAnnotation
@FeignClient(name="some-name", url="http://test.url")
public interface MyClient extends FeignClientInterface{ 
}

我已嘗試:

"@target(MyAnnotation) && execution(public * *(..))"但當(dāng)我將我的庫(kù)連接到實(shí)際項(xiàng)目時(shí),我得到了java.lang.IllegalArgumentException: Cannot subclass final class org.springframework.boot.autoconfigure.AutoConfigurationPackages$BasePackages,它似乎想要將所有內(nèi)容包裝到代理,并且有最終的類。
"@target(MyAnnotation) && execution(public * com.my.company.base.package.*(..))"刪除了上一個(gè)問(wèn)題,但給出了另一個(gè)問(wèn)題,如某些Bean沒(méi)有名稱無(wú)法實(shí)例化等。

問(wèn)題是如何在不將@MyAnnotation移動(dòng)到基本接口FeignClientInterface的情況下使其工作。它在另一個(gè)項(xiàng)目中,我無(wú)法控制它。

推薦答案

好的,經(jīng)過(guò)幾個(gè)小時(shí)的調(diào)查,我用這個(gè)替換了我的切入點(diǎn)

@Around("execution(* (@MyAnnotation *).*(..)) || execution(@MyAnnotation * *(..))")

如前所述here我使用execution只是為了避免創(chuàng)建代理。

這篇關(guān)于如何創(chuàng)建切入點(diǎn)來(lái)偽裝支持接口繼承的客戶端?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,

分享到:
標(biāo)簽:偽裝 切入點(diǎn) 創(chuàng)建 客戶端 接口 支持 繼承
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定