二、创建服务消费者
1.在springcloudkuang下创建新的Model并且命名springcloud-consumer-dept-80
2.导入pom依赖
<dependencies>
<dependency>
<groupId>com.buba</groupId>
<artifactId>springcloud-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--热部署-->
<!--https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
3.在resources文件下创建application.yml文件
配置端口号
server:
port: 80
4.1编写Config配置文件
由于RestTemplate 没有被注册到bean中,所以将它手动注册进去
package com.buba.springcloud.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class ConfigBean { //@Configuration相当于 spring applicationContext.xml
@Bean
public RestTemplate getrestTemplate(){
return new RestTemplate();
}
}
4.2同时编写controller
package com.buba.springcloud.controller;
import com.buba.springcloud.pojo.Dept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import java.util.List;
@RestController
public class DeptConsumerController {
//理解,消费者,不应该有service
//RestTemplate 供我们直接调用就可以了 注册到spring中
//(url,实体,Map,Class<T> responseType)
@Autowired
private RestTemplate restTemplate; //提供多种便捷访问远程HTTP服务的方法,简单的额RestFul服务模板
private static final String REST_URL_PREFIX = "http://localhost:8001";
@RequestMapping("/consumer/dept/get/{id}")
public Dept get(@PathVariable("id") Long id){
return restTemplate.getForObject(REST_URL_PREFIX+"/dept/get/"+id,Dept.class);
}
@RequestMapping("/consumer/dept/add")
public Boolean add(Dept dept){
return restTemplate.postForObject(REST_URL_PREFIX+"/dept/add",dept,Boolean.class);
}
@RequestMapping("/consumer/dept/list")
public List<Dept> list(){
return restTemplate.getForObject(REST_URL_PREFIX+"/dept/list",List.class);
}
}
private static final String REST_URL_PREFIX = "http://localhost:8001";
这里要注意,这是你服务提供者的访问前缀,一定注意看端口号!
5.最后编写启动类
package com.buba.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DeptConsumer_80 {
public static void main(String[] args) {
SpringApplication.run(DeptConsumer_80.class);
}
}
6.启动测试!
- 第一步先开启8001项目 并测试运行!
- 第二步再开启80项目 测试运行!