SpringCloud微服务框架搭建个人总结(避坑专用)
搭建springcloud微服务框架(基础)
你好! 这篇文章对于你搭建springcloud框架避坑可能会有帮助,转载请附加说明。
踩坑记录
- 把遇到的bug放在前面,希望你们创建的时候多注意一点
1、集成spring-cloud-gateway 启动报以下错误:
No qualifying bean of type 'org.springframework.core.convert.ConversionService' available
原因是因为我们在网关中引入了web依赖,去掉即可。
2、集成feign的时候启动报错:
Service id not legal hostname
原因是因为:一是路径配置的原因。@FeignClient(name= “/eureka_client”)这个注解配置的是服务名,不用加/。二是因为服务名的原因,feign不支持”_“,需要改成”–“。所以项目刚开始创建就得注意起名。
搭建框架
我们使用idea来搭建springcloud框架。
- 搭建父框架选用maven
- 创建成功记得设置jdk和maven。然后把src文件夹删除。
- 接着创建module,在父模块上新建module
- 先创建注册中心Eureka模块
Eureka服务注册中心
- 这儿springboot版本可以不关注,因为版本会在父pom里统一配置
- 然后下一步,然后完成finish。我们把没用的文件删除。留下src和pom,对应pom里面的test依赖也用不到了,可以删除,之后的module创建都警醒该操作。
- 进行pom操作,先上父pom的,springboot的版本可以自己选择,但是一定要注意和cloud版本的匹配问题。我这儿用的2.1.5的boot版本,对应cloud版本是Greenwich.SR2
<groupId>com.test.springcloud</groupId>
<artifactId>muck-up</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
<module>muck-eureka</module>
</modules>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath />
</parent>
<properties>
<org.apache.shiro.version>1.4.0</org.apache.shiro.version>
<mysql-connector.version>5.1.35</mysql-connector.version>
<mybatis-spring-boot.version>1.3.2</mybatis-spring-boot.version>
<lombok.version>1.18.10</lombok.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- cloud -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- shiro -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>${
org.apache.shiro.version}</version>
</dependency>
<!--mysql驱动包-->
<dependency>