Nacos Spring Cloud使用入门

356 阅读1分钟

花了一个下午集成 Spring Cloud 和 Nacos,大体上还是比较顺利,只是在引入哪些依赖上花了点心思。下面把完整的步骤写下来,避免后人再走同样的弯路。

安装 nacos 服务器

安装 nacos 服务器的官方文档链接是 nacos.io/zh-cn/docs/… ,主要就是下载编译后的压缩包或者是下载源码后自己编译。我是直接在 github.com/alibaba/nac… 上下载源码的压缩包,然后使用命令编译。

mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  

启动 nacos 服务器

windows下是使用命令 startup.cmd -m standalone 启动服务器。图中 startup_standalone.cmd 脚本文件是我为了省事,把启动命令写到脚本文件中。

图片.png

启动服务器成功后可以用浏览器登录 http://127.0.0.1:8848/nacos 控制台,默认密码是 nacos/nacos。

图片.png

Maven项目里添加依赖

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

    <spring.boot.version>2.6.3</spring.boot.version>
    <spring.cloud.version>2021.0.1</spring.cloud.version>
    <alibaba.cloud.version>2021.0.1.0</alibaba.cloud.version>
</properties>

<dependencyManagement>
    <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>${alibaba.cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

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

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
</dependencies>

<!-- 此处使用阿里云maven仓库避免网络问题加载依赖失败 -->
<repositories>
    <repository>
        <id>aliyunmaven</id>
        <name>aliyunmaven</name>
        <url>https://maven.aliyun.com/repository/central</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
...

添加 bootstrap 和 application 文件

bootstrap.properties

# Nacos配置中心地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

# 服务名称,此处example可以替换成其它名称
spring.application.name=example

spring.cloud.nacos.config.file-extension=properties

application.properties

server.port=8080

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

启动类上加上注解

@EnableDiscoveryClient
@EnableAutoConfiguration
@SpringBootApplication
public class ExampleApplication {

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

}

启动服务之后就能在 nacos 里看到服务。

图片.png