SpringBoot 集成 Nacos
目录一、前言二、Nacos集成1、引入Nacos依赖2、添加Nacos配置3、加载Nacos配置4、Nacos集成验证5、Nacos配置动态生效一、前言上一篇已经讲解了怎样安装安装、启动、配置 Nacos,这篇我们讲解如何在项目中使用 Nacos 。还不了解 Nacos 的详见:Spring Cloud 系列之 Nacos 配置中心在集成 Nacos 之前,首先我们要先创建一个 Spring Bo
Nacos安装详见:Spring Cloud 系列之 Nacos 配置中心
一、前言
上一篇已经讲解了怎样安装安装、启动、配置 Nacos
,这篇我们讲解如何在项目中使用 Nacos
。
还不了解 Nacos
的详见:Spring Cloud 系列之 Nacos 配置中心
在集成 Nacos
之前,首先我们要先创建一个 Spring Boot
项目:IDEA 创建 SpringBoot 项目
二、Nacos集成
1、引入Nacos依赖
<dependencies>
<!-- nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<dependencies>
注:Spring Boot版本要低于2.4,否则启动应用会报错。
2、设置Nacos配置
项目中默认配置文件是 application.properties
,Nacos
配置加在此配置文件中的话,应用启动会报连接 Nacos
失败,我们需要创建 bootstrap.properties
或 bootstrap.yml
配置文件(添加任意一个即可),下面我们以 bootstrap.properties
为例:
spring.application.name=apm-mobile-android
spring.cloud.nacos.username=nacos
spring.cloud.nacos.password=nacos
spring.cloud.nacos.server-addr=10.0.7.115:18117
spring.cloud.nacos.discovery.namespace=PROD
spring.cloud.nacos.config.namespace=PROD
spring.cloud.nacos.config.timeout=3000
spring.cloud.nacos.config.refresh-enabled=true
spring.cloud.nacos.config.group=apm
spring.cloud.nacos.config.prefix=${spring.application.name}
spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.shared-configs[0].group=apm
spring.cloud.nacos.config.shared-configs[0].data-id=apm-mobile-android.properties
spring.cloud.nacos.config.shared-configs[0].refresh=true
spring.liquibase.enabled=false
3、加载Nacos配置中心配置项
在初始化类中添加 @EnableDiscoveryClient
注解即可:
package com.example.springbootdemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@EnableDiscoveryClient
@SpringBootApplication
public class SpringbootdemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootdemoApplication.class, args);
new BootstrapManager();
}
}
4、Nacos集成验证
Nacos配置如下:
启动应用,然后访问:http://localhost:8085/hello
出现如下界面说明加载Nacos配置成功。
5、Nacos配置中心配置项动态生效
需要在配置对象中添加 @RefreshScope
注解,然后重启应用。
package com.example.springbootdemo.config;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
@Data
@Component
@Configuration
@RefreshScope
public class GlobalConfig {
@Value("${data.domain:http://10.0.0.1:18080}")
private String dataDomain;
@Value("${log.level:DEBUG}")
private String logLevel;
}
重启后,访问:http://localhost:8085/hello
将 Nacos
配置中的 log.level
修改为 DEBUG
,然后重新访问:http://localhost:8085/hello,出现如下界面说明 Nacos
配置动态生成成功。
更多推荐
所有评论(0)