写点什么

springcloud 服务与服务之间的调用(Feign),java 支付模块架构

用户头像
极客good
关注
发布于: 刚刚

</dependencies>


<dependencyManagement>


<dependencies>


<dependency>


<groupId>org.springframework.cloud</groupId>


<artifactId>spring-cloud-dependencies</artifactId>


<version>Dalston.RC1</version>


<type>pom</type>


<scope>import</scope>


</dependency>


</dependencies>


</dependencyManagement>


<build>


<plugins>


<plugin>


<groupId>org.springframework.boot</groupId>


<artifactId>spring-boot-maven-plugin</artifactId>


</plugin>


</plugins>


</build>


<repositories>


<repository>


<id>spring-milestones</id>


<name>Spring Milestones</name>


<url>https://repo.spring.io/milestone</url>


<snapshots>


<enabled>false</enabled>


</snapshots>


</repository>


</repositories>


</project>


新建配置文件:application.yml


eureka:


client:


serviceUrl:


defaultZone: http://localhost:8769/eureka/


server:


port: 8762


spring:


application:


name: service-hi


启动类:我将 controller 直接写在了启动类了,你们可以新建一个 controller 包


package com.ymy;


import org.springframework.beans.factory.annotation.Value;


import org.springframework.boot.SpringApplication;


import org.springframework.boot.autoconfigure.SpringBootApplication;


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


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


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


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


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


@EnableEurekaClient


@SpringBootApplication


@RestController


@RequestMapping("c")


public class App1 {


public static void main(String[] args) {


SpringApplication.run(App1.class, args);


}


@Value("${server.port}")


String port;


@GetMapping("hello")


public String hello(@RequestParam String name){


return "hello "+name+" 我的服务端口是:"+port;


}


}


  • 服务端 2(被调用端 2)


===========


新建一个 springboot 项目:



pom 文件:


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">


<modelVersion>4.0.0</modelVersion>


<groupId>com.ymy.client1</groupId>


<artifactId>cloud-client1</artifactId>


<version>0.0.1-SNAPSHOT</version>


<parent>


<groupId>org.springframework.boot</groupId>


<artifactId>spring-boot-starter-parent</artifactId>


<version>1.5.2.RELEASE</version>


</parent>


<properties>


<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>


<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>


<java.version>1.8</java.version>


</properties>


<dependencies>


<dependency>


<groupId>org.springframework.cloud</groupId>


<artifactId>spring-cloud-starter-eureka</artifactId>


</dependency>


<dependency>


<groupId>org.springframework.boot</groupId>


<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</artifactId>


<version>Dalston.RC1</version>


<type>pom</type>


<scope>import</scope>


</dependency>


</dependencies>


</dependencyManagement>


<build>


<plugins>


<plugin>


<groupId>org.springframework.boot</groupId>


<artifactId>spring-boot-maven-plugin</artifactId>


</plugin>


</plugins>


</build>


<repositories>


<repository>


<id>spring-milestones</id>


<name>Spring Milestones</name>


<url>https://repo.spring.io/milestone</url>


<snapshots>


<enabled>false</enabled>


</snapshots>


</repository>


</repositories>


</project>


新建配置文件:application.yml


eureka:


client:


serviceUrl:


defaultZone: http://localhost:8769/eureka/


server:


port: 8763


spring:


application:


name: service-hi


启动类:


package com.ymy;


import org.springframework.beans.factory.annotation.Value;


import org.springframework.boot.SpringApplication;


import org.springframework.boot.autoconfigure.SpringBootApplication;


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


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


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


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


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


@EnableEurekaClient


@SpringBootApplication


@RestController


@RequestMapping("c")


public class App2 {


public static void main(String[] args) {


SpringApplication.run(App2.class, args);


}


@Value("${server.port}")


String port;


@GetMapping("hello")


public String hello(@RequestParam String name){


ret


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


urn "hello "+name+" 我的服务端口是:"+port;


}


}


  • 客服端(调用端)


========


新建一个 springboot 项目



pom 配置文件:


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"


xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">


<modelVersion>4.0.0</modelVersion>


<groupId>com.ymy.client3</groupId>


<artifactId>cloud-client3</artifactId>


<version>0.0.1-SNAPSHOT</version>


<parent>


<groupId>org.springframework.boot</groupId>


<artifactId>spring-boot-starter-parent</artifactId>


<version>1.5.2.RELEASE</version>


</parent>


<properties>


<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>


<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>


<java.version>1.8</java.version>


</properties>


<dependencies>


<dependency>


<groupId>org.springframework.cloud</groupId>


<artifactId>spring-cloud-starter-eureka</artifactId>


</dependency>


<dependency>


<groupId>org.springframework.cloud</groupId>


<artifactId>spring-cloud-starter-feign</artifactId>


</dependency>


<dependency>


<groupId>org.springframework.boot</groupId>


<artifactId>spring-boot-starter-web</artifactId>


</dependency>


<dependency>


<groupId>org.springframework.boot</groupId>


<artifactId>spring-boot-starter-test</artifactId>


<scope>test</scope>


</dependency>


<dependency>


<groupId>org.springframework.cloud</groupId>


<artifactId>spring-cloud-starter-hystrix</artifactId>


</dependency>


</dependencies>


<dependencyManagement>


<dependencies>


<dependency>


<groupId>org.springframework.cloud</groupId>


<artifactId>spring-cloud-dependencies</artifactId>


<version>Dalston.RC1</version>


<type>pom</type>


<scope>import</scope>


</dependency>


</dependencies>


</dependencyManagement>


<build>


<plugins>


<plugin>


<groupId>org.springframework.boot</groupId>


<artifactId>spring-boot-maven-plugin</artifactId>


</plugin>


</plugins>


</build>


<repositories>


<repository>


<id>spring-milestones</id>


<name>Spring Milestones</name>


<url>https://repo.spring.io/milestone</url>


<snapshots>


<enabled>false</enabled>


</snapshots>


</repository>


</repositories>


</project>


新建 application.yml 文件


eureka:


client:


serviceUrl:


defaultZone: http://localhost:8769/eureka/


server:


port: 8765


spring:


application:


name: service-feign


feign:


hystrix:


enabled: true


controller 类:


package com.ymy.controller;


import javax.inject.Inject;


import org.springframework.beans.factory.annotation.Autowired;


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


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


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


import com.ymy.feign.ClientFeign;


import com.ymy.feign.HystrixClientFeign;


@RestController


public class MyController {


@Inject


private ClientFeign clientFeign;


// @Autowired


// private HystrixClientFeign hystrixClientFeign;


@GetMapping("hi")


public String hi(@RequestParam String name){

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
springcloud服务与服务之间的调用(Feign),java支付模块架构