1:Intellij 新建 项目 order-service
2:pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>cn.tigee</groupId>
<artifactId>order-service</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>2023.0.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
</dependencies>
</project>
3:application.xml
server:
port: 7011
servlet:
context-path: /
spring:
application:
name: order-service
eureka:
client:
service-url:
defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
instance:
prefer-ip-address: true
4:启动类
package cn.tigee;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients //开启OpenFeign
public class ApplicationMain {
static final Logger logger = LoggerFactory.getLogger(ApplicationMain.class);
public static void main(String[] args) {
logger.debug("服务启动..start......");
SpringApplication.run(ApplicationMain.class, args);
logger.debug("服务启动..end......");
}
}
5:openfeign接口定义
package cn.tigee;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients //开启OpenFeign
public class ApplicationMain {
static final Logger logger = LoggerFactory.getLogger(ApplicationMain.class);
public static void main(String[] args) {
logger.debug("服务启动..start......");
SpringApplication.run(ApplicationMain.class, args);
logger.debug("服务启动..end......");
}
}
7:使用接口
package cn.tigee.controller;
import cn.tigee.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@Value("${server.port}")
private int port;
@Value("${spring.application.name}")
private String serve;
@Autowired
UserService userService;
@RequestMapping("hello")
public String hello(){
return "你好:"+serve+":"+port+"_"+userService.hello("jinnlajsdlfj");
}
}
8:启动
9:浏览器请求接口
localhost:7101/order-service/hello
order-service 调用 user-service 返回结果成功
你好:order-service:7013_你好:user-service:7002:jinnlajsdlfj