合肥网站建站建设,如何建网站不花钱,最好的扁平化网站,好看的商城网站设计一、使用openfeig调用远程另外一个服务接口 1、创建一个spring boot工程,并且创建2个模块来当微服务模块 2、分别配置2个模块的启动文件 3、分别两个模块下创建一个测试的控制器 4、在项目的根目录的pom.xml中添加spring-cloud配置 propertiesjava.version1…一、使用openfeig调用远程另外一个服务接口 1、创建一个spring boot工程,并且创建2个模块来当微服务模块 2、分别配置2个模块的启动文件 3、分别两个模块下创建一个测试的控制器 4、在项目的根目录的pom.xml中添加spring-cloud配置 propertiesjava.version1.8/java.versionspring-cloud.version2021.0.8/spring-cloud.version
/propertiesdependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency/dependencies
/dependencyManagement5、在需要调用别的服务的项目中添加依赖 !-- 远程调用的包 --
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId
/dependency
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-loadbalancer/artifactId
/dependency6、在需要调用别的 服务的项目中创建一个文件夹feign里面创建一个文件SystemFeignHello.java的接口 package com.example.feign;import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;FeignClient(name system, url http://localhost:9001/system)
public interface SystemFeignHello {/*** 别的地方调用hell1方法的时候就会调用http://localhost:9001/system/hello路由* return*/GetMapping(hello)String hello1();
}7、测试调用另外一个服务的接口 package com.example.controller;import com.example.feign.SystemFeignHello;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;RestController
public class HelloController {ResourceSystemFeignHello systemFeignHello;GetMapping(hello)public String hello() {return File Hello;}GetMapping(systemHello)public String getHello() {String helloResult this.systemFeignHello.hello1();System.out.println(helloResult返回数据);return helloResult;}
}8、在调用服务的启动类上加上扫描注解 package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;SpringBootApplication
EnableFeignClients(com.example.feign)
public class FileApplication {public static void main(String[] args) {SpringApplication.run(FileApplication.class, args);}}9、网页上测试调用接口 10、system项目中接口如下,和普通接口没任何区别 package com.example.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;RestController
public class HelloController {GetMapping(hello)public String hello() {return System Hello11;}
}二、使用eureka来服务端配置 1、eureka分为服务端和客户端需要在项目中先创建一个eureka的服务段,在子项目中使用客户端的方式连接 2、创建一个eureka模块来做服务端 3、在eureka模块中添加依赖包 dependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId/dependency
/dependencies4、配置文件中基本配置 spring.application.nameeureka
server.port8761
eureka.client.fetch-registryfalse
eureka.client.register-with-eurekafalse5、在启动类上添加注解 package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;SpringBootApplication
EnableEurekaServer
public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class, args);}}6、直接在浏览器上输入http://localhost:8761/如下就表示配置成功
三、客户端配置 1、引入依赖包 !-- 客户端端 --
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId
/dependency2、在配置文件中添加 eurec.client.server-url.defaultZonehttp://localhost:8761/eureka/3、在启动文件中添加 SpringBootApplication
EnableEurekaClient
public class SystemApplication {public static void main(String[] args) {SpringApplication.run(SystemApplication.class, args);}}4、刷新浏览器查看服务是否已经注册成功
四、网关的配置 1、创建一个网关模块 2、在网关中引入依赖包 dependencies!-- 网关依赖 --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependency!-- 客户端端 --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependency
/dependencies3、修改配置文件 server.port8000
spring.application.namegateway
server.servlet.context-path/gateway
spring.main.web-application-typereactive
eurec.client.server-url.defaultZonehttp://localhost:8761/eureka/# 注册一个服务
spring.cloud.gateway.routes[0].idsystem
spring.cloud.gateway.routes[0].uri.http://localhost:9001
spring.cloud.gateway.routes[0].predicates[0].namePath
spring.cloud.gateway.routes[0].predicates[0].args[0]/system/**
# 注册一个服务
spring.cloud.gateway.routes[1].idfile
spring.cloud.gateway.routes[1].uri.http://localhost:9000
spring.cloud.gateway.routes[1].predicates[0].namePath
spring.cloud.gateway.routes[1].predicates[0].args[0]/file/**4、启动文件 package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;SpringBootApplication
EnableEurekaClient
public class GatewayApplication {public static void main(String[] args) {SpringApplication.run(GatewayApplication.class, args);}}5、使用网关的地址直接访问别的路由http://localhost:8000/system/hello