本文是使用idea详细搭建springcloud各个组件demo的实例。
软件:idea2017,jdk1.8,maven3.3.9
1. 创建父项目-parent
首先是创建父项目,其实就是一个普通的maven-Java项目
不选任何内容,直接下一步
此处输入父项目名称以及包名
在父项目的pom.xml文件中,配置springcloud的版本和springboot的版本,两者的版本需要对应,这里设置的springcloud的版本是:Finchley.SR1,springboot的版本是:2.0.5.RELEASE,也可以使用其他对应的版本。
到这里父项目就创建完成了
2. 创建注册中心-eureka
选中父项目,创建子项目
不选任何内容,直接下一步
输入子项目的名称,子项目创建完成。
配置eureka的pom.xml文件
在eureka项目中中创建启动类
如上图,启动类中注明eurekaserver的注解
创建eureka对应的配置文件application.yml
此处配置的服务地址为本机地址:local host,也可以配置其他的服务器地址。
启动Application_Eureka类,执行main方法,访问:http://localhost:7001/
3. 创建服务提供者-provider
创建完eureka注册中心后,可以创建一个服务了,服务提供者把服务注册到eureka上。同样的方法在父项目中创建一个子项目,命名:server_provider。然后配置它的pom.xml文件。
创建服务的启动类,提供服务。
创建controller,暴露服务
创建服务提供者对应的配置文件application.yml
启动Application_Provider类,执行main方法,访问:http://localhost:8001/provider/get
再看eureka的控制台页面,可以看到,服务已经注册到eureka上了。其中“TEST-PROVIDER”为刚才的服务名称。
4. 创建服务消费者-consumer
有了服务提供者,就可以创建一个服务消费者来消费了,还是先创建一个子项目,命名为:server_consumer。然后配置它的pom.xml文件。
创建启动类,这个启动类和一般的启动类没什么区别
创建contorller,作为消费接口
创建配置文件application.yml
启动项目,访问:http://localhost:9001/consumer/get,可获取到服务提供者提供的服务信息。
5. 创建服务网关-zuul
我们可以创建一个服务网关,消费者通过服务网关来访问服务提供者提供的服务。还是一样的,先创建一个子项目,命名为:zuul,然后配置它的配置文件pom.xml。
创建网关的启动类:Application_Zuul
创建它的配置文件:application.yml
启动服务,访问地址:http://localhost:9527/server/test/provider/get
同时可以看到eureka注册中心上注册了网关服务
6. 创建内部服务调用-feign
接下来我们来通过feign实现服务的内部调用,即在一个服务提供者中使用另一个服务提供者提供的服务。首先还是一样的,先创建一个子项目,命名为:server_consumer_feign。导入依赖,配置pom.xml文件。
创建启动类: Application_Feign
创建它的配置文件:application.yml
创建client接口,调用的是server_provider服务。
创建controller,进行注入
启动项目,访问地址:http://localhost:9002/consumer/feignGet
同时可以看到feign服务已经成功注册到了eureka上。
组件的demo就先到这里,后续还有