大家好,今天给大家总结一下我在使用SpringBoot整合SpringCloud时候遇见的一些问题,以及一些注意事项,其中很多事我亲测网上博文无效之后自己的解决方法,希望给遇到这个问题各位一个借鉴。
废话就不多说了,什么介绍什么是springcloud,什么是springboot的这里就先不谈,至于怎么创建springcloud项目我也不想多说,直接百度,第一个博客里面说的很清楚,我这篇主要是以那篇博客为基础,介绍一些那篇博客里没有讲到或者是比较重要的点以及坑。
4.0.0
top.wangqichao
eurekaserver
0.0.1-SNAPSHOT
jar
eurekaserver
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
1.5.9.RELEASE
UTF-8
UTF-8
1.8
Dalston.SR5
org.springframework.cloud
spring-cloud-starter-eureka-server
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import
org.springframework.boot
spring-boot-maven-plugin
这里按照其他教程的方法创建就会给你的pom.xml,只需要注意一点
spring-milestones
Spring Milestones
https://repo.spring.io/milestone
false
#eueka 主机名
eureka.instance.hostname=localhost
#不注册自己
eureka.client.register-with-eureka=false
#获取服务
eureka.client.fetch-registry=false
#提供者和消费者的注册地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
server.port=8761
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
//作为注册中心必带注解,否则启动无法看到注册中心
@EnableEurekaServer
@SpringBootApplication
public class EurekaserverApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaserverApplication.class, args);
}
}
4.启动,其运行和昨天一样,可以看到此时还没有实例被注册
5.然后是客户端,也可以叫做服务端,因为他们都是 要在注册中心来注册的,可以提供服务,也可以调用别的服务
4.0.0
top.wangqichao
eurekaclient
0.0.1-SNAPSHOT
jar
eurekaclient
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
1.5.9.RELEASE
UTF-8
UTF-8
1.8
Dalston.SR5
org.springframework.cloud
spring-cloud-starter-eureka
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import
org.springframework.boot
spring-boot-maven-plugin
注意只需要修改两个版本的地方,其他地方不需要修改,也不需要像其他博客说的在父类pom中添加继承依赖版本号。
#此客户端的端口号,要与注册中心的不同
server.port=8762
#服务名,在注册中心可以看到
spring.application.name=client-a
#要和注册中心的一样才行
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
7.修改启动类文件,也是注解问题,然后编写一个简单的方法
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@EnableEurekaClient
@SpringBootApplication
@RestController
public class EurekaclientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaclientApplication.class, args);
}
@Value("${server.port}")
String port;
@RequestMapping("/hi")
public String home(@RequestParam String name) {
return "hi "+name+",i am from port:" +port;
}
}
然后进入8762端口,输入相关参数,可以看到成功了
9.最后,附带上参考的那篇热门博客的传送门
https://blog.csdn.net/forezp/article/details/69696915
以及本次demo的github地址
https://github.com/superkingdan/springclouddemo
希望大家能一次成功,今天的分享就到这里了