设为首页 加入收藏

TOP

注册中心/配置管理 —— SpringCloud Alibaba Nacos(二)
2023-08-26 21:11:27 】 浏览:104
Tags:管理 SpringCloud Alibaba Nacos
onfig-spring-boot-starter</artifactId> <version>0.2.12</version> </dependency>

在 application.properties 中配置 Nacos Server 的地址

# 如果搭建了集群只需要填其中一个节点的ip:port即可
nacos.config.server-addr=127.0.0.1:8848
# 如果配置了Nginx,则输入配置的地址,如上面我配置的
# nacos.config.server-addr=127.0.0.1:8847/nacos

在启动类中使用 @NacosPropertySource 加载 dataId 为 springboot-nacos-config 的配置源,并开启自动更新

@SpringBootApplication
@NacosPropertySource(dataId = "springboot-nacos-config", autoRefreshed = true)
public class SpringbootNacosApplication {

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

当然,我们需要在 Nacos 的配置列表中添加 Data-Id: springboot-nacos-config 的配置文件

test.name=hahaha

通过 Nacos 的 @NacosValue 注解设置属性值

@RestController("config")
public class ConfigCon {

    @NacosValue(value = "${test.name}", autoRefreshed = true)
    private String name;


    @GetMapping("get")
    public String get() {
        return name;
    }
}

2. Nacos 服务注册

在项目的 pom.xml 文件添加如下依赖:

<dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>nacos-discovery-spring-boot-starter</artifactId>
    <version>0.2.12</version>
</dependency>

在 application.properties 中配置 Nacos Server 的地址

spring.application.name=springboot-nacos
server.port=8080
server.address=127.0.0.1

# 如果搭建了集群只需要填其中一个节点的ip:port即可
nacos.discovery.server-addr=127.0.0.1:8848
# 如果配置了Nginx,则输入配置的地址,如上面我配置的
nacos.discovery.server-addr=127.0.0.1:8847/nacos

修改启动类,运行即可

@SpringBootApplication
@NacosPropertySource(dataId = "springboot-nacos-config", autoRefreshed = true)
public class SpringbootNacosApplication implements CommandLineRunner {

    // 使用@NacosInjected注入Nacos的NamingService实例
    // NamingService是Nacos对外提供给使用者的接口
    @NacosInjected
    private NamingService namingService;

    @Value("${spring.application.name}")
    private String applicationName;

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

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

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

    @Override
    public void run(String... args) throws Exception {
        //应用启动时,将服务注册到Nacos
        namingService.registerInstance(applicationName, serverAddress, serverPort);
    }
}

Nacos SpringCloud

本节主要讲解 SpringCloud 的如何通过 Nacos 实现配置管理和服务发现,以 SpringBoot 2.3.12.RELEASE 为例

1. Nacos 配置管理

在项目的 pom.xml 文件添加如下依赖:

<dependencies>

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

</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.2.10-RC1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

在 application.properties 中配置 Nacos Server 的地址

server.port=8080
spring.application.name=springcloud-nac
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇面试题(1)-为什么重写Equals方法.. 下一篇一款开源免费、更符合现代用户需..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目