Springboot整合nacos实现配置中心及服务发现
一、概述
首先,nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。而springboot能够创建一个独立运行spring应用框架,因此,springboot整合nacos,可以更方便实现服务的发现、配置管理等相关功能。
二、springboot是如何整合nacos?
1.在pom文件中添加nacos依赖。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.0.5.0</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2021.0.5.0</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.3</version>
</dependency>
注:这里用的spring版本是2.6.0。
2.配置nacos。
在bootstrap.properties或bootstrap.yml文件中配置nacos的相关信息。这里以bootstrap.yml为例。
spring:
application:
name: my-blog#为服务名
cloud:
nacos:
username: nacos
password: nacos
discovery:
namespace: e50bbc31-d4bd-4f7f-852a-c5cacf3a2a24
server-addr: localhost:8848
register-enabled: true
watch:
enabled: true
config:
extension-configs:
- data-id: common.properties
refresh: true
file-extension: properties #后缀名,只支持 properties 和 yaml 类型
prefix: my-blog #文件名,如果没有配置则默认为 ${spring.appliction.name}
namespace: e50bbc31-d4bd-4f7f-852a-c5cacf3a2a24
auto-refresh: true
enable-remote-sync-config: true #启用远程同步配置
group: DEFAULT_GROUP #配置组
refresh-enabled: true
server-addr: localhost:8848
3.使用nacos配置。
我们可以在SpringBoot应用中,通过@Value注解或在application.yml中,你可以通过占位符${…}来引用nacos中的配置。
@Component
@ConfigurationProperties(prefix = "blog")
public class MyConfigProperties {
private String property;
}
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
@Component
@Data
@RefreshScope
public class MyConfig {
/**
* url地址
*/
@Value("${blog.url}")
private String url;
/**
* 路径
*/
@Value("${blog.path}")
private String path;
}
其中 @RefreshScope注解实现配置动态刷新。
4.启动nacos服务发现。
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
接着启动应用后,就可以在nacos的服务列表中看到我们已经注册到nacos的服务。
原文地址:https://blog.csdn.net/qq_42077317/article/details/136631656
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!