Pengantar untuk berpura -pura
Petana adalah klien layanan web yang dinyatakan, yang membuatnya lebih mudah untuk menulis klien layanan web. Gunakan Petugas untuk membuat antarmuka dan membubuhi keterangannya. Ini memiliki dukungan anotasi pluggable, termasuk anotasi patah dan anotasi JAX-RS. Petana juga mendukung encoder dan dekoder pluggable. Spring Cloud menambahkan anotasi ke Spring MVC. Spring Web menggunakan httpmessageConverters secara default, dan Spring Cloud mengintegrasikan kepura-pura klien HTTP yang seimbang yang disediakan oleh Ribbon dan Eureka.
Klien Istirahat Deklaratif: Berbagai
Pertama, mulailah proyek eureka_register_service (pusat pendaftaran) dan proyek Biz-Service-0 (produsen layanan)
Buat proyek Maven eureka_feign_client
pom.xml
<partent> <groupid> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-parent </artifactid> <version> 1.4.3.release </version> <relativePath/> <!-pencarian orang tua dari repositori -> </parent> <Properties> <Project.build.sourceencoding> UTF-8 </project.build.sourceencoding> <Java.version> 1.8 </java.version> </properties> <dependencies> <groupid> org.springframework </cloud> <groupid> <ArtifactId> Spring-cloud-starter-feign </stifactid> </dependency> <dependency> <groupid> org.springframework.cloud </proupid> <RaintifactId> <cloud-cloud-starter-eureka </artifactid> </dependency> <dependency> <groupid> org.springfr.springfr. <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency></dependencies><dependencyManagement> <dependencies> <dependency> <groupid> org.springframework.cloud </groupid> <ArtiFacTId> Spring-cloud-Dependencies </arttifactid> <version> brixton.sr5 </version> <yype> pom </type> <scope> impor </ scope> </dependency> </dependensi> </dependencyman>
Aktifkan fungsi Petchign melalui anotasi @EnableFeignClients di kelas aplikasi utama
Mulai file fignApplication.java
@SpringbootApplication@enableDiscoveryclient@enableFeignClientSpublic class fegnApplication {public static void main (string [] args) {springApplication.run (fignApplication.class, args); }}Tentukan Antarmuka Layanan Kelas Pengguna.java
Gunakan anotasi @FeignClient ("Biz-Service-0") untuk mengikat layanan Biz-Service-0 yang sesuai dari antarmuka ini
@FeignClient ("Biz-Service-0") Public Interface UserClient {@RequestMapping (Method = RequestMethod.get, value = "/getUser") pengguna publik getUserInfo (); @RequestMapping (method = requestMethod.get, value = "/getUser") String publik getUserInfostr (); @RequestMapping (Method = RequestMethod.get, value = "/info") Public String Info ();}Hubungi UserController yang didefinisikan di atas di lapisan web, sebagai berikut
@RestControllerPublic kelas UserController {@Autowired userclient userclient; @RequestMapping (value = "/getUserInfo", method = requestMethod.get) pengguna publik getUserInfo () {return userclient.getUserInfo (); } @RequestMapping (value = "/getUserInfostr", Method = requestMethod.get) String publik getUserInfostr () {return userclient.getUserInfostr (); } @RequestMapping (value = "/info", method = requestMethod.get) Public String info () {return userclient.info (); }} variabel konfigurasi application.properties
spring.application.name = fegn-consumerserver.port = 8004eureka.client.serviceurl.defaultzone = http: // localhost: 8000/eureka/
Kunjungi http://127.0.0.1:8004/getuserinfo
Meringkaskan:
Faktanya, metode layanan panggilan HTTP dienkapsulasi melalui peti mati, sehingga klien memanggil metode ini secara langsung seperti memanggil metode lokal. Mirip dengan cara mengekspos layanan jarak jauh di Dubbo, perbedaannya adalah bahwa Dubbo didasarkan pada protokol biner pribadi, sementara berpura -pura pada dasarnya adalah klien HTTP.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.