本次使用的是cloudalibaba2.2.6,算是比較穩定的版本,springboot3需要jdk17 這個版本的jdk可能會收費所以還是用jdk8了
創建項目:
1

2
項目創建完成就只有一個pom.xml文件 具體的配置我就不細致的說明了 大概的提一下
<?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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <java.version>8</java.version> <!-- Spring Cloud --> <spring.cloud.version>Hoxton.SR12</spring.cloud.version> <!-- Spring Boot --> <spring-boot.version>2.3.12.RELEASE</spring-boot.version> <!-- Spring Cloud alibaba --> <project.version>2.2.9.RELEASE</project.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <!-- Spring Dependencies --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring.cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.9.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
需要注意的就是
<!-- Spring Cloud --> <spring.cloud.version>Hoxton.SR12</spring.cloud.version> <!-- Spring Boot --> <spring-boot.version>2.3.12.RELEASE</spring-boot.version> <!-- Spring Cloud alibaba --> <project.version>2.2.9.RELEASE</project.version>
這三個版本需要對應起來,要不然創建的項目會有問題 版本不兼容具體的對應版本可以查看spring的官網
貼一個別人寫的文章也說的很清楚 Spring Boot、Spring Cloud與Spring Cloud Alibaba版本對應關系-阿里云開發者社區
到此基礎的項目工程就創建完成了
在項目中創建模塊:
選擇工程名右鍵 -new - module

type 要選擇maven

創建完成后目錄的樣子

修改test1模塊的pom.xml
<?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> <parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>test1</artifactId> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
創建一個controller類
package com.example.demo.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; @RequestMapping("/user") @RestController public class UserController { @RequestMapping("/getUser") public Map getUser() { HashMap<String, String> map = new HashMap<>(); map.put("name","zhangsan"); map.put("addr","武漢市"); return map; } }
把項目build一下看看能不能啟動

項目正常啟動,訪問一下接口

到此基于項目創建模塊也是沒有問題的
后續就是整合cloudAlibaba相關的組件了
nacos
怎么安裝這里就不多說了 請看 Docker安裝nacos(圖文并茂,避免踩坑,一步到位)_docker安裝nacos掛載-CSDN博客
本次用的nacos2.1.0說明一下 cloud的這些組件也是需要對應版本的要不然整合起開會有很多問題
本地啟動一下nacos

下面是組件整合
test1模塊引入: <!--naocs客戶端依賴--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> application.yml 整體的配置如下: server: port: 8080 spring: application: name: test1 cloud: nacos: discovery: server-addr: 127.0.0.1:8848 #注冊中心地址 namespace: public # 命名空間 public是默認的 management: endpoints: web: exposure: include: "*"
啟動一下項目看一下
登錄nacos看看 服務是否注冊完成
http://localhost:8848/nacos

到此項目整合nacos也完成了
后續再寫 openFegen sentinel getaway seata