網址:https://blog.csdn.net/Java_monkeys/article/details/86242428
工具:IDEA2018.3
環境:jdk8+windows10+maven3.5
框架:springCloud
第一步創建demo項目
1.file------>>new-------->>project
2.
然后一路next,最后點擊finsh;
在此我就不一步步講解操作步驟了,直接上成品,然后細說;
myCloudDemo下一共有三個子項目
1.eureka(注冊中心)
2.ribbon(負載均衡)
3.feign(聲明式服務調用)
eureka(注冊中心)
第一步:
右鍵項目名稱 new------------>>module
2.
3.
點擊next,最后點擊finsh;
4.將application.properties文件修改成(application.yml),加入如下代碼:
server:
port: 8080
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
5.在啟動入口類 EurekaApplication中加入 @EnableEurekaServer注解,然后啟動,成功返回如下界面:
ribbon(負載均衡)
1.2步同上!!!
3.
4.將application.properties文件修改成(application.yml),加入如下代碼:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8080/eureka/
server:
port: 8081
spring:
application:
name: ribbon-provider
注意:port不能出現重復;
5.寫一個service和controller
service代碼如下:
@Service
public class HelloService {
public String sayHello(){
return "helloWorld"; // 提供一個hello World
}
}
controller代碼如下:
@RestController
public class HelloController {
@Autowired
private HelloService helloService;
@GetMapping("/hello")
public String sayHello(String name){
return helloService.sayHello() + " " + name;
}
}
6.啟動類RibbonApplication修改成如下代碼:
@LoadBalanced該注解為開啟負載均衡
@SpringBootApplication
@EnableDiscoveryClient //注冊服務
public class RibbonApplication {
public static void main(String[] args) {
SpringApplication.run(RibbonApplication.class, args);
}
@Bean
@LoadBalanced
RestTemplate restTemplate(){
return new RestTemplate();
}
}
啟動該子項目,成功注冊中心會出現如下情況:
feign(聲明式服務調用)
1,2步驟同上
3.
點擊完成;
4步驟同上port接口:8082;
5.寫一個rpc /service和controller
rpc代碼如下:
@FeignClient(value = "ribbon-provider")
public interface GetHello {
@RequestMapping(value = "/hello?name=feign",method = RequestMethod.GET)
public String sayHello();
}
service代碼如下:
@Service
public class HelloService {
@Autowired
private GetHello getHello;
public String sayHello(){
return getHello.sayHello();
}
}
controller代碼如下:
@RestController
public class HelloController {
@Autowired
private HelloService helloService;
@GetMapping("/hello")
public String sayHello(String name){
return helloService.sayHello() + " " + name;
}
}
6.啟動類FeignApplication修改成如下代碼:
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class FeignApplication {
public static void main(String[] args) {
SpringApplication.run(FeignApplication.class, args);
}
}
7.啟動feign子項目,出現如下情況:
啟動成功;
到此一個簡單的maven+springCloud項目就搭建完成了;
源碼下載地址: https://pan.baidu.com/s/1MowmriEy2bnujF2s94oWZg 提取碼:8swh