先创建一个普通的SpringBoot项目,然后添加SpringCloud服务消费者所需的配置即可。
pom.xml 添加内容
<!--使用SpringBoot1.5.3版本-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR7</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
application.yml文件配置
eureka:
client:
serviceUrl:
#指定服务端地址
defaultZone: http://localhost:8000/eureka/
在启动类中调用在server中已经注册的服务
@EnableDiscoveryClient
@SpringBootApplication
public class SpringclientApplication {
@Bean
@LoadBalanced
RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
new SpringApplicationBuilder(SpringclientApplication.class).web(true).run(args);
}
创建Controller调用服务接口
@RestController
public class MainController {
@Autowired
RestTemplate restTemp;
@RequestMapping("/user/{name}")
public String get(@PathVariable("name") String name){
return restTemp.getForEntity("http://db-service:8085/user/" + name, String.class).getBody();
}
}
运行该项目,在浏览器中输入 http://localhost:8086/user/bin 连接,即可调用接口。