Spring boot nacos config 配置中心的例子,自定义dataId groupId namespace

使用nacos作为配置中心,在非spring项目,直接使用nacos的 Java sdk也还是简单的。

nacos Java SDK 1.3.1 来实现配置管理

要是套上Spring的情况下。这个例子就是Spring boot + nacos来实现配置中心。好多例子都是只一个dataId,我这带上dataId groupId namespace的设置。

    <properties>
        <nacos-config-spring-boot.version>0.2.1</nacos-config-spring-boot.version>
    </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-actuator</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>${nacos-config-spring-boot.version}</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-actuator</artifactId>
            <version>${nacos-config-spring-boot.version}</version>
        </dependency>
    </dependencies>
application.properties 的内容,namespace在这儿设置

nacos.config.server-addr=192.168.1.191:8848
nacos.config.namespace=test
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
@SpringBootApplication
@NacosPropertySource(dataId = "lxk", groupId = "test",  autoRefreshed = true)
public class NacosConfigApplication {

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

主要类。设置类使用的是nacos server的哪个dataId和groupId,自动监听更新

@Controller
@RequestMapping("config")
public class ConfigController {

    @NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)
    private boolean useLocalCache;

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

    @NacosValue(value = "${age:18}", autoRefreshed = true)
    private int age;

    @RequestMapping(value = "/get", method = GET)
    @ResponseBody
    public String get() {
        Map<String, Object> map = Maps.newHashMap();
        map.put("useLocalCache", useLocalCache);
        map.put("name", name);
        map.put("age", age);
        return JsonUtils.parseObjToFormatJson(map);

    }
}

使用配置的类,类似Spring的@value注解,这地方换成了@NacosValue 。可以感知更新。当nacos server的配置修改变化之后,再次发布的时候,这个controller使用的值就变了。

实际测试的图

本次测试代码,放在github上了。有需要的可以看一下。

https://github.com/cmshome/nacos-examples/tree/master/nacos-spring-boot-example/nacos-spring-boot-config-example

从截图上看,还有这么些个选项是可以配置的。

 

要使用服务器上的Nacos作为配置中心,你可以按照以下步骤进行配置: 1. 首先,确保你的服务器上已经安装了Nacos。你可以从Nacos的官方网站下载并安装Nacos。 2. 在你的项目中添加Nacos的依赖。如果你使用的是Spring Boot项目,可以在`pom.xml`文件中添加以下依赖: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-config-nacos</artifactId> </dependency> ``` 3. 在`application.yml`或`application.properties`文件中配置Nacos的相关信息。例如: ```yaml spring: cloud: nacos: config: server-addr: ${nacos.server-addr} namespace: ${nacos.namespace} group: ${nacos.group} username: ${nacos.username} password: ${nacos.password} ``` 这里的`${nacos.server-addr}`是Nacos服务器的地址,`${nacos.namespace}`是命名空间,`${nacos.group}`是配置分组,`${nacos.username}`和`${nacos.password}`是登录Nacos的用户名和密码。 4. 创建一个配置类,用于从Nacos获取配置信息。例如: ```java import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @Configuration public class NacosConfig { @Value("${nacos.config.data-id}") private String dataId; @Value("${nacos.config.group}") private String group; // Getter and Setter methods } ``` 这里的`${nacos.config.data-id}`是需要获取的配置的ID,`${nacos.config.group}`是配置所属的分组。 5. 在需要使用配置的地方注入`NacosConfig`类,并使用其中的属性值。 以上就是使用服务器上的Nacos作为配置中心的基本步骤。你可以根据自己的需求进行相应的配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值