SpringCloud Alibaba

本文详细介绍了如何创建一个Spring Cloud Alibaba Nacos的项目,从创建空项目开始,配置JDK、Maven环境,到创建父工程管理依赖,再到创建服务提供者并实现服务注册。通过配置文件和启动类,成功实现了服务的注册和调用验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.创建空项目

第一步(Empty Project,空项目可以看成是一个工作区),要求项目所在路径不能有中文目录(项目创建完以后,需要对项目进行初始配置,例如maven构建环境,编译环境,工作区编码等)

第二步:填写项目信息

第三步:配置项目的JDK环境,如图所示:

第四步:配置项目所需要的maven环境,如图所示

repository别和其他项目重复,自己找个地方

 第五步:配置项目自动编译,如图所示:

第六步:配置项目编码,如图所示

 2,​​​创建Maven父工程(module) -控制springcloud和springboot的版本

创建maven module工程01-sca,此工程为我们后续项目模块的父工程,这个工程的作用就是来管理子模块中所需要的共性依赖,如图所示:

放在项目目录下

通过此工程管理其核心依赖,其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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <modules>
        <module>sca-nacos-provider</module>
        <module>sca-nacos-consumer</module>
        <module>sca-nacos-config</module>
        <module>sca-springcloud-gateway</module>
    </modules>
    <!--指定父工程(这个工程中提供了一些基础依赖,以及某些依赖的版本管理)-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.2.RELEASE</version>
    </parent>
    <groupId>com.cy</groupId>
    <artifactId>01-sca</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--所有父工程打包方式为pom方式,一个父工程中可以有很多个子模块,项目打包时
    要将这些子模块module,进行独立打包,此时packaging元素内部的只必须为pom,默认
    为jar-->
    <packaging>pom</packaging>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <spring.cloud.version>Hoxton.SR8</spring.cloud.version>
        <spring.cloud.alibaba.version>2.2.5.RELEASE</spring.cloud.alibaba.version>
    </properties>
    <!--依赖管理(只提供依赖版本管理),这个元素一般只写在maven父工程中-->
    <dependencyManagement>
        <dependencies>
            <!--spring cloud (这个技术是依赖与spring boot的)-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring.cloud.version}</version>
                <type>pom</type><!--当scope为import时这里的类型只能为pom类型-->
                <scope>import</scope><!--表示此工程中的子工程可以直接import这个依赖中的资源-->
            </dependency>
            <!--Spring cloud alibaba-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <!--当在父工程添加了这样的依赖,子工程中无需再添加-->

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>
    </dependencies>

</project>

1. <packaging>pom</packaging>   所有父工程打包方式为pom 

2. <properties>  使用资源版本配置管理,可以自定义

3.<dependencyManagement>元素只写在maven父工程中,

4.<dependencyManagement><dependencies>   依赖版本管理

5.<type>pom</type>   当scope为import时这里的类型只能为pom类型 

<scope>import</scope>   表示此工程中的子工程可以直接import这个依赖中的资源(Java只能单继承

3.生产者服务创建及注册

第一步:创建服务提供者继承parent工程(01-msa),module名为sca-nacos-provider(创建module工程时在父工程上右键创建module)。

第二步:添加项目依赖,关键代码如下:

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>01-sca</artifactId>
        <groupId>com.cy</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>sca-nacos-provider</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <!--spring boot web 依赖 (默认会下载一个tomcat,并初始化spring web mvc配置)-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--spring cloud alibba的nacos服务注册和发现功能-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>
</project>

第三步:创建并修改配置文件application.yml(或者application.properties),实现服务注册,关键代码如下:


server:
   port: 8081
spring:
  application:
    name: nacos-provider
  cloud:
    nacos:
      server-addr: localhost:8848

第四步:创建启动类,并定义处理请求的控制层对象和方法,关键代码如下:

package com.cy;

@SpringBootApplication
public class NacosProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosProviderApplication.class, args);
    }

@Value("${server.port}")
private String server;

    @RestController
    public class ProviderController {
        @GetMapping(value = "/provider/echo/{string}")
        public String doEcho(@PathVariable String string) {
            return server+"say:Hello Nacos Discovery " + string;
        }
    }

}

第五步:启动启动类,然后刷先nacos服务,检测是否服务注册成功,如图所示:

第六步:打开浏览器,输入http://localhost:8081/provider/echo/msa,然后进行访问,结果如下:

8081say:Hello Nacos Discovery msa 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值