源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

在idea环境下构建springCloud项目

  • 时间:2022-04-05 02:50 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:在idea环境下构建springCloud项目
 springCloud是基于springboot搭建的微服务。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。 spring cloud官方文档:[url=http://projects.spring.io/spring-cloud/]http://projects.spring.io/spring-cloud/[/url] spring cloud 中文网 : [url=https://springcloud.cc/]https://springcloud.cc/[/url] 最终搭建后的工程源代码:[url=https://github.com/onpwerb/SpringCloud]https://github.com/onpwerb/SpringCloud[/url] [b]一、新建maven工程[/b] 根据spring cloud官方文档,在pom.xml导入如下代码
<!-- spring cloud 配置 -->
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.5.RELEASE</version>
  </parent>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Camden.SR6</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
[b]二、建立注册中心[/b] 新建名称为 discovery 的 module 1.在该module下的pom.xml导入如下配置:
<!-- @EnableEurekaServer -->
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-netflix-eureka-server</artifactId>
      <!--<version>1.1.6.RELEASE</version>-->
    </dependency>
  </dependencies>
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/
[b]三、构建一个服务A[/b] 新建一个名为service的module 1.在src/main/java目录下新建service文件夹,然后新建一个application
package service;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.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]四、构建第二个服务B[/b] 新建一个名为service2的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
[b]五、配置网关[/b] 新建名称为 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 [b]六、启动服务[/b] 先启动discovery模块,再启动其他模块 在浏览器依次输入: http://localhost:8081/ http://localhost:8082/service http://localhost:8083/service2 http://localhost:8084/service/service http://localhost:8084/service2/service2 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部