import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
 
@SpringBootApplication
@EnableDiscoveryClient
public class GatewayApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class, args);
    }
 
    @Bean
    public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
        return builder.routes()
                .route("path_route", r -> r.path("/api/user/**")
                        .uri("lb://user-service"))
                .route("host_route", r -> r.host("*.myhost.org")
                        .uri("http://somehost.org"))
                .build();
    }
}这段代码定义了一个Spring Cloud Gateway服务网关的基本用法。它使用@EnableDiscoveryClient注解来启用服务发现,并且通过customRouteLocator方法定义了两条路由规则:第一条是通过路径前缀("/api/user/")来匹配请求,并将请求转发到名为"user-service"的服务实例;第二条是通过域名模式("*.myhost.org")来匹配请求,并将请求转发到"http://somehost.org"。这个例子展示了如何使用Spring Cloud Gateway来实现服务路由和管理。