在idea环境下构建springCloud项目

网友投稿 265 2023-03-18


在idea环境下构建springCloud项目

springCloud是基于springboot搭建的微服务。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

spring cloud官方文档:http://projects.spring.io/spring-cloud/

spring cloud 中文网 : https://springcloud.cc/

最终搭建后的工程源代码:https://github.com/onpwerb/SpringCloud

一、新建maven工程

根据spring cloud官方文档,在pom.xml导入如下代码

org.springframework.boot

spring-boot-starter-parent

1.4.5.RELEASE

org.springframework.cloud

spring-cloud-dependencies

Camden.SR6

pom

import

org.springframework.cloud

spring-cloud-starter-config

org.springframework.cloud

spring-cloud-starter-eureka

二、建立注册中心

新建名称为 discovery 的 module

1.在该module下的pom.xml导入如下配置:

org.springframework.cloud

spring-cloud-netflix-eureka-server

2.在src/main/java目录下新建discovery文件夹,然后新建一个application

package discovery;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication

@EnableEurekaServer

public class DiscoveryApplicaion {

public static void main(String[] args) {

SpringApplication.run(DiscoveryApplicaion.class, args);

}

}

3.在该module下的src/main/resources文件夹下,新建文件application.yml,配置注册中心eureka的相关服务

server:

port: 8081

eureka:

instance:

hostname: localhost

client:

registerWithEureka: false

fetchRegistry: false

serviceUrl:

defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

三、构建一个服务A

新建一个名为service的module

1.在src/main/java目录下新建service文件夹,然后新建一个application

package service;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springfrahttp://mework.cloud.client.discovery.EnableDiscoveryClient;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication

@EnableDiscoveryClient

@RestController

public class ServiceApplication {

@GetMapping("/service")

public String service(){

return "service";

}

public static void main(String[] args) {

SpringApplication.run(ServiceApplication.class, args);

}

}

2.在该module下的src/main/resources文件夹下,新建文件application.yml

spring:

application:

name: service.service

eureka:

client:

serviceUrl:

defaultZone: http://localhost:8081/eureka/

server:

port: 8082

四、构建第二个服务B

新建一个名为service2uJWKyvg的module

1.在src/main/java目录下新建service2文件夹,然后新建一个application

package service2;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication

@EnableDiscoveryClient

@RestController

public class Service2Application {

@RequestMapping("/service2")

public String service2(){

return "service2";

}

public static void main(String[] args) {

SpringApplication.run(Service2Application.class, args);

}

}

2.在该module下的src/main/resources文件夹下,新建文件application.yml

spring:

application:

name: service2

eureka:

client:

serviceUrl:

defaultZone: http://localhost:8081/eureka/

server:

port: 8083

五、配置网关

新建名称为 gateway 的 module

1.在该module下的pom.xml导入如下配置:

package gateway;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

@SpringBootApplication

@EnableZuulProxy

@EnableEurekaClient

public class GatewayApplication {

public static void main(String[] args) {

SpringApplication.run(GatewayApplication.class, args);

}

}

2.在src/main/java目录下新建gateway文件夹,然后新建一个application

eureka:

client:

serviceUrl:

defaultZone: http://localhost:8081/eureka/

spring:

application:

name: gateway

server:

port: 8084

zuul:

routes:

service: /service/**

service2: /service2/**

3.在该module下的src/main/resources文件夹下,新建文件application.yml

六、启动服务

先启动discovery模块,再启动其他模块

在浏览器依次输入:

http://localhost:8081/

http://localhost:8082/service

http://localhost:8083/service2

http://localhost:8084/service/service

http://localhost:8084/service2/service2


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ios开发接口调用(苹果api接口调用)
下一篇:Java Swing组件文件选择器JFileChooser简单用法示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~