一、搭建准备?
搭建所需工具:JDK1.8 ,Maven3.5.2或这个版本以上,idea开发工具
准备搭建一套具有一部分简单功能的分布式购物系统,不处理业务逻辑,只是为了学习使用Spring Cloud 和Spring Cloud Alibaba。
二、搭建父工程?
ps:推荐一款截图工具snipaste,特别好用 https://zh.snipaste.com/
生成好之后父工程并没有创建好,还有一些东西需要修改。
而且我们还要引入Spring Cloud 和Spring Cloud Alibaba管理依赖。
想要知道怎么引用的,是通过去官网查看,去github搜索spring cloud alibaba,然后打开WiKi,再点击版本说明链接就是的。
由于版本也一直在更新,我也只能使用目前最新的版本。
与之对应的sprig cloud版本:
官网上依赖使用也写的很清楚了
具体的pom文件配置如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- Spring boot的管理依赖就不放在parent下面了,已移到下面。 此<parent>将用于引用我们公司自己的管理依赖--> <!-- <parent>--> <!-- <groupId>org.springframework.boot</groupId>--> <!-- <artifactId>spring-boot-starter-parent</artifactId>--> <!-- <version>2.5.4</version>--> <!-- <relativePath/> <!– lookup parent from repository –>--> <!-- </parent>--> <groupId>com.study</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <modules> <module>order-server</module> </modules> <name>demo</name> <!-- 修改packaging打包方式为pom,因为我们父工程仅仅作为管理依赖使用--> <packaging>pom</packaging> <description>Demo project for Spring Cloud Alibaba</description> <properties> <java.version>1.8</java.version> <spring.cloud.alibaba>2.2.6.RELEASE</spring.cloud.alibaba> <spring.boot.version>2.3.2.RELEASE</spring.boot.version> <spring.cloud.version>Hoxton.SR9</spring.cloud.version> </properties> <dependencyManagement> <dependencies> <!-- spring-cloud-alibaba依赖管理--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${spring.cloud.alibaba}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- spring boot依赖管理--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>${spring.boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- 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> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
接下来创建子模块
在resource目录下创建application.yml,然后修改端口为
server: port: 8081
最后写启动类,测试controller。
同理,在创建一个库存服务stock-server,最后使用restTemplate调用另一个服务测试是否成功。
总结
以上只是搭建了一套非常基础的环境,实际的电商项目还是比较庞大和复杂的,当然在复杂的东西也是从基础做起的,所以本质上是同一个东西,只要我们懂得其一就可以管中窥豹,可见一斑。