1.新建Maven父工程Server
(1)導入依賴
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
<version>1.7.10</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
(2)創建啓動類
@SpringBootApplication
@EnableEurekaServer
public class ServerApplication {
public static void main(String[] args){
new SpringApplicationBuilder(ServerApplication.class).web(true).run(args);
}
}
(3)創建application.yml
server:
port: 8281
eureka:
client:
register-with-eureka: false #服務器不用註冊到其他服務器
fetch-registry: false #服務器不用去服務器抓取註冊信息
(4)啓動項目運行,訪問http://localhost:8281
2.新建Spring子工程Provider
(1)新建控制類
@RestController
public class ProviderController {
@RequestMapping(value = "/provider")
public String provider(){
return "==============provider==============";
}
}
(2)新建application.yml
server:
port: 8080
spring:
application:
name: provider1 #服務提供者名字
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8281/eureka/ #註冊到服務器
(3)啓動項目運行,訪問http://localhost:8281
3.新建spring子工程Consumer
(1)添加依賴
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
(2)新建控制類
@Controller
@Configuration
public class ConsumerController {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
@RequestMapping(value = "/consumer")
@ResponseBody
public String call(){
RestTemplate restTemplate = getRestTemplate();
return restTemplate.getForObject("http://provider1/provider" ,String.class);
}
}
(3)新建application.yml
server:
port: 8081 #更改端口爲8081
spring:
application:
name: consumer1
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/ #註冊到服務器
(4)運行項目,訪問http://localhost:8081/consumer ,獲得返回結果
刷新http://localhost:8281/