本次使用的是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