いくつかの単語の男が言った、またはギャングのブログを添付します。https://blog.csdn.net/springcyb/article/details/89147639
今回は、私が上記の操作に応じては、多くのピットが発生しますので、ブロガーは何の問題もブログませんが、いくつかの要素があれば、はっきり書いていないがあり、特に良い感じ、このブログの上に、どのような消費者を記録するために、初心者のためではない使用します初心者の自分の脳のサプリメントデバッグしません
1. spring_ribbonというプロジェクトに春のinitialzrプロジェクトを作成するために、続行
2. [設定ポート
サーバー: ポート:8021 春: アプリケーション: 名前:springcloud - myribbon ユーレカ: クライアント: サービス - URL: defaultZoneます。http:// localhostを:8000 /ユーレカ
3.メインのjavaファイルを変更します。
スタートアップクラスのプロジェクト、サービスセンターへ@EnableDiscoveryClientによる登録で、と豆IOCプログラム注入する:restTemplateを、そして@LoadBalancedアノテーションでロードバランス機能がrestRemplateになっていることを示しています
パッケージcom.example.springcloud_myribbon。 輸入org.springframework.boot.SpringApplication。 輸入org.springframework.boot.autoconfigure.SpringBootApplication。 輸入org.springframework.cloud.client.loadbalancer.LoadBalanced; 輸入org.springframework.cloud.netflix.eureka.EnableEurekaClient。 輸入org.springframework.context.annotation.Bean。 輸入org.springframework.web.client.RestTemplate。 @EnableEurekaClient @SpringBootApplication パブリック クラスSpringcloudMyribbonApplication { 公共 静的 ボイドメイン(文字列[]引数){ SpringApplication.run(SpringcloudMyribbonApplication。クラス、引数)。 } //ばねが容器RestTemplateに注入される // デフォルトのポーリングをバランスロードバランス負荷 // プロデューサを注入することによって、コールインスタンスを使用することができ、コントローラ @Bean @LoadBalanced RestTemplate RestTemplate(){ 戻り 新しい新しいRestTemplateを(); } }
プロデューサーを呼び出す3.消費者
生産者springcloud・プロバイダ操作の前に、の設立UserControllerでのクラスは、次のディレクトリ構造を参照してくださいする必要があり、これは非常に重要な、非常に重要な、非常に重要です
UserControllerでのみ独自のサブディレクトリの下に実行時設定ファイルでバッグと同じディレクトリにあるSpringcloudProviderApplication、SpringcloudProviderApplication
コードは以下の通りです
パッケージcom.example.springcloudprovider.controller。 輸入org.springframework.stereotype.Controller。 輸入org.springframework.web.bind.annotation.GetMapping。 輸入org.springframework.web.bind.annotation.ResponseBody。 @Controller パブリック クラスUserControllerで{ / * * *测试 * * @return * / @GetMapping(" testPro " ) @ResponseBody パブリック文字列試験(){ システム。アウト .println(" リボン调用生产者成功" ); リターン " 成功" ; } }
新しいspring_ribbonの操業を開始しました
次のようにもUserControllerで新しいは、上記のディレクトリ構造を参照すると、ディレクトリ構造は、覚えておくことが重要です
パッケージcom.example.springcloud_myribbon.controller。 輸入org.springframework.beans.factory.annotation.Autowired; 輸入org.springframework.web.bind.annotation.GetMapping。 輸入org.springframework.web.bind.annotation.RestController。 輸入org.springframework.web.client.RestTemplate。 @RestController パブリック クラスUserControllerで{ @Autowired プライベートRestTemplate restTemplate。 / * * *调用生产者 * / // 调用请求 // 取得查 // ポスト增 // 削除删 // 入れ改 @GetMapping("testPro " ) パブリック文字列を選択し(){ 文字列結果 = restTemplate.getForObject(" HTTP:// SPRINGCLOUD-USER-REG / testPro 」、文字列。クラス); 戻り結果; } }
4.プロジェクトを実行し、次のような結果が表示されhttp://127.0.0.1:8021/testPro開きます
5エラーの概要
ディスプレイは404であるという問題に加えて、通話中にパスを示している場合、一部の注釈のエラーは、慎重に下のメインフローがチェックするとき、それはまた可能である、誤っては対処があるかもしれません
問題が500であれば、私は、問題のファイルのディレクトリ構造で、SpringcloudProviderApplicationでコントローラのサブディレクトリを必ず覚えておいてください遭遇しました