(ダウンロードするコード付き)サービスコンシューマ-Feign方法を作成SpringCloud-

シーン

SpringCloud-サービス登録と実装は、(ソースコードのダウンロードに)サービスのレジストリを作成-Eureka:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102535957

サービス登録および実装SpringCloud- -Eurekaは、(ソースコードのダウンロードと)サービスプロバイダを作成します。

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102558004

(ダウンロードするコード付き)サービス消費者-Ribbon方法を作成SpringCloud-:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102558080

消費者サービスの前提の下で、上記で実装されたサービスレジストリ、サービスプロバイダではとリボン的に、装うは、サービスコンシューマを達成するための別の方法を使用します。

見せ掛けます

装うは、それが簡単にHTTPクライアントを書くことになり、宣言型の擬似HTTPクライアントです。装うを使用して、あなただけがインターフェイスや注釈を作成する必要があります。それは装うJAX-RS注釈やメモをプラグイン可能な注釈機能を使用することができました。プラグ可能なエンコーダおよびデコーダをふり。デフォルトの統合リボン、ユーレカと負荷分散の組み合わせデフォルトの実装を装います

注意:

ブログ:
https://blog.csdn.net/badao_liumang_qizhi
の社会的関心番号
猿の横柄プログラム
買収関連のプログラミング電子書籍、チュートリアル、無料ダウンロードのためにプッシュ。

実現

プロジェクトの建設は、ディレクトリハロースプリング・クラウド・ウェブ管理者・装うディレクトリだけでなく、中を作成するために、上記の方法を参照してください。

新しいのpom.xmlディレクトリ、およびそれをホストします。そして、新しいsrc / main / javaディレクトリおよびsrc / main / resourcesディレクトリとディレクトリが提供されました。

次に、Javaで新しいパッケージは、カテゴリの下にapplication.ymlリソースの新しい設定ファイルを新しいパッケージを開始します。

ディレクトリの完了後です。

 

 

pom.xmlコード:

<?xmlのバージョン= " 1.0 "エンコード= " UTF-8 "?> 
<プロジェクトのxmlns = " http://maven.apache.org/POM/4.0.0 "のxmlnsを:XSI = " のhttp://www.w3 .ORG / 2001 / XMLスキーマ・インスタンス" 
         のxsi:のschemaLocation = " http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd  > 
    <modelVersion> 4.00 </ modelVersion> 

    <親> 
        <groupIdを> com.badao </ groupIdを> 
        <たartifactId>こんにちは-春-クラウドの依存関係<0 -snapshot </バージョン> 
        <relativePath> ../ハロースプリング・クラウドの依存性/のpom.xml </ relativePath> 
    </親> 

    <たartifactId>こんにちは-春-クラウド・ウェブ管理者・装う</たartifactId> 
    <パッケージ> JAR </パッケージ> 

    <名前>こんにちは-春-クラウド・ウェブ管理者・装う</名前> 
    <URL>のhttps:// blog.csdn.net/badao_liumang_qizhi </ URL> 
    <inceptionYear> 2019 -Now </ inceptionYear> 

    <依存性> 
        <! -春ブーツ開始します- > 
        <依存> 
            <groupIdを> org.springframework.boot </ groupIdを> 
            <たartifactId>
        <依存性> 
            <のgroupId> org.springframework.boot </のgroupId> 
            <たartifactId>ばねブートスタータTomcatの</たartifactId> 
        </依存> 
        <依存性> 
            <のgroupId> org.springframework.boot </のgroupId> 
            <たartifactId >スプリングブートスタータthymeleaf </たartifactId> 
        </依存> 
        <依存性> 
            <のgroupId> org.springframework.boot </のgroupId> 
            <たartifactId>ばねブートスタータアクチュエータ</たartifactId> 
        </依存> 
        <依存関係> 
            <groupIdを> org.springframework.boot </ groupIdを>
            <たartifactId>ばねブートスタータ試験</たartifactId> 
            <スコープ>テスト</スコープ> 
        </依存関係> 
        <! -春ブーツ終了- >
 
        <! -春の雲開始- > 
        <依存> 
            <groupIdを> org.springframework.cloud </ groupIdを> 
            <たartifactId>春・クラウド・スターター・ネットフリックス、eureka-サーバー</たartifactId> 
        </依存関係> 
        <依存> 
            <groupIdを> org.springframework.cloud </ groupIdを> 
            <たartifactId>春・クラウド・スタータopenfeign </たartifactId> 
        </依存関係> 
        <! -春の雲エンド- - > 

        <! -解决thymeleaf模板引擎一定要执行严格的HTML5格式校验问题- > 
        <依存> 
            <groupIdを>net.sourceforge.nekohtml </ groupIdを> 
            <たartifactId> nekohtml </たartifactId> 
        </依存関係>
    </依存関係> 

    <構築> 
        <プラグイン> 
            <プラグイン> 
                <のgroupId> org.springframework.boot </のgroupId> 
                <たartifactId>ばねブート達人-プラグイン</たartifactId> 
                <構成> 
                    <mainClass> com.badao.hello.spring .cloud.web.admin.feign.WebAdminFeignApplication </ mainClass> 
                </ configuration>の
            </プラグイン> 
        </プラグイン> 
    </構築> 
</プロジェクト>

 

注意:

ここでは、それらは、上記の統一された依存関係の管理に対応するために、親ラベルです。

それぞれのパスのエントリ指定されたプログラムのカテゴリを変更するには。

次に、アプリケーションのクラスコードを起動します。

パッケージcom.badao.hello.spring.cloud.web.feign。

輸入org.springframework.boot.SpringApplication。
輸入org.springframework.boot.autoconfigure.SpringBootApplication。
輸入org.springframework.cloud.client.discovery.EnableDiscoveryClient。
輸入org.springframework.cloud.openfeign.EnableFeignClients。

@SpringBootApplication 
@EnableDiscoveryClient 
@EnableFeignClients 
パブリック クラスWebAdminFeignApplication {
     公共 静的 ボイドメイン(文字列[]引数){ 
        SpringApplication.run(WebAdminFeignApplication。クラス、引数)。
    } 
}

 

注意:

@EnableDiscoveryClientコメントを介してサービスセンターへの登録

装う注釈機能が@EnableFeignClientsでオンになっています

次に、コンフィギュレーション・ファイルapplication.yml

春:
  アプリケーション:
    名前:こんにちは -spring-クラウドウェブADMIN- 装う
  thymeleaf:
    キャッシュ:
    モード:LEGACYHTML5 
    エンコーディング:UTF - 8 
    サーブレット:
      内容型:テキスト/ HTMLの

サーバー:
  ポート:8765 

ユーレカ:
  クライアント:
    serviceURLの:
      defaultZoneます。http:// localhostを:8761 /ユーリカ/

 

 

注意:

1.サービスの登録と発見は、上記の名前の光を見つけることです。

ポート番号を2.port。

3.serviceURLはユーレカアドレスを設定し、上記のURLをする場合、対応するサービスレジストリが作成されます。

リボンを使用してのさまざまな方法ではなく、サービスクラスよりも、サービス・インターフェースを作成するためにここにあります。

 

 

AdminServiceインターフェースコード:

パッケージcom.badao.hello.spring.cloud.web.feign.service。

輸入org.springframework.cloud.openfeign.FeignClient。
輸入org.springframework.web.bind.annotation.RequestMapping。
輸入org.springframework.web.bind.annotation.RequestMethod; 
輸入org.springframework.web.bind.annotation.RequestParam。

@FeignClient(値 = " ハロースプリングクラウドサービス管理者" パブリック インターフェースにAdminService { 

    @RequestMapping(値 = " HI "、メソッド= RequestMethod.GET)
     パブリック文字列sayHi(@RequestParam(値= " メッセージ")文字列メッセージ)。
}

 

注意:

@FeignClientによって(値=「ハロー・春・クラウド・サービス管理者」)は、サービスコールを指定します。

ここでは上記のサービスプロバイダの対応するname属性プロファイルがあります。

輸入com.badao.hello.spring.cloud.web.feign.service.AdminService。
輸入org.springframework.beans.factory.annotation.Autowired; 
輸入org.springframework.web.bind.annotation.RequestMapping。
輸入org.springframework.web.bind.annotation.RequestMethod; 
輸入org.springframework.web.bind.annotation.RequestParam。
輸入org.springframework.web.bind.annotation.RestController。

@RestController 
パブリック クラスAdminController { 

    @Autowired 
    プライベートにAdminServiceにAdminService。

    @RequestMapping(値 = " HI "、メソッド= RequestMethod.GET)
     公衆ストリングsayHi(@RequestParamストリングメッセージ){
         戻りadminService.sayHi(メッセージ)。
    } 
}

 

負荷分散効果を反映するために、我々は、2つのサービス管理者を起動するために、すなわち2つのサービスプロバイダを開始する必要があります。

のは、サービスレジストリサービス8761ユーレカポートを始めましょう、その後、ポート8762がサービスプロバイダを開始するには、[実行 - [構成の編集]をクリックし、削除単一インスタンスを起動します。

 

 

次に、ポート番号8763のためのサービス・プロバイダー構成ファイルを変更し、サービスプロバイダを開始します。

 

 

消費者は、負荷分散の効果を達成したい、8762でのサービスプロバイダへのアクセスである必要があり、サービスプロバイダは、8763年代にアクセスすることができます。

そして、現在のサービスの消費者は、プログラムを起動して実行します。

お使いのブラウザを開き、次のコマンドを入力します。

http:// localhostを:?8765 / HIメッセージ= HelloFeign

 

 

このアーキテクチャでは

サービスレジストリ、ユーレカサーバー、ポート番号:8761
2つのインスタンスを実行しているサービス-ADMINプロジェクトは、ポート番号は、次のとおりです。8762,8763
のWeb-ADMIN-装うエンジニアリング・ポート番号:8765

ソースのダウンロード

https://download.csdn.net/download/badao_liumang_qizhi/11867357


 

おすすめ

転載: www.cnblogs.com/badaoliumangqizhi/p/11688791.html