springcloud项⽬创建过程
在使⽤spring cloud 项⽬创建微服务项⽬时,遇到过很多坑,现在我将整理如下:
条件:Idea 开发⼯具 maven 项⽬
1. 创建⼀个空的mvn项⽬。
2. 创建完了就添加Module,⾸先添加⼀个Module作为项⽬的⽗类。
pom⽂件如下:
<modelVersion>4.0.0</modelVersion>
<groupId>cn.fintecher.pangolin</groupId>
<artifactId>microservice</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>microservice-common</module>
<module>microservice-provider</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mavenpiler.source>1.8</mavenpiler.source>
<mavenpiler.target>1.8</mavenpiler.target>
<spring-cloud.version>Finchley.SR1</spring-cloud.version>
<spring-boot.version>2.0.5.RELEASE</spring-boot.version>
<lombok.version>1.16.18</lombok.version>
</properties>
<dependencyManagement>
springcloud难学吗<dependencies>
<!-- 定义 spring cloud 版本 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 定义 spring boot 版本 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 定义 lombok 版本 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3. 创建⼦模块
注意红⾊标注的地⽅为None.后⾯是可以选的。
4. 注意路径,要在⽗类的下⾯。
5. 创建完之后发现⽗类的<modeules>中没有包含进去⼿⼯包含进去
6. 创建好的pom⽂件如下:
7. 添加启动类
添加完引⼊
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
启动类引⽤
这样在启动服务的时候会报
这个是由于没有添加start统⼀配置,
特别说明,springboot的特性⾥⾯就有⼀个点,Start 全局配置,意思就是你在⽤其他的包的时候不知道⽤哪个版本,springbootstart.jar 会帮助你到最合适的。<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
加⼊这个pom配置,就可以启动起来了。
8. 使⽤
@SpringCloudApplication 注解,这个注解封装了@SpringBootApplication
多了⼀个服务发现和熔断处理
但是引⽤之后启动会报如下错误。
这个的原因是 spring cloud版本和springboot版本不⼀致引起的。
修改版本
参考⽂档:
但是版本对应关系如下:
通过这个图并不能准确的确定版本的对应关系,所以还是要看⽹上的同学的踩坑分享。还需要增加⼀个pom配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
这样就可以顺利启动起来了。
源码地址:
源码地址2:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论