系列文章目录
前言
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。
在Nacos控制台添加配置文件
格式和开发中是一样的,这里也是使用YAML文件
服务中,引入nacos-config的客户端依赖:
<!--nacos配置管理依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
在服务模块中中添加一个bootstrap.yaml文件,内容如下:
spring:
application:
name: userservice # 服务名称
profiles:
active: dev #开发环境,这里是dev
cloud:
nacos:
server-addr: 192.168.3.22:8848 # Nacos地址
discovery:
cluster-name: BJ # 集群 默认DEFAULT
namespace: 82e1d425-3424-4944-9429-1882d7c67398 # 命名空间
# ephemeral: false # 是否临时
config:
file-extension: yaml # 文件后缀名
这里会根据spring.cloud.nacos.server-addr获取nacos地址,再根据
s p r i n g . a p p l i c a t i o n . n a m e − {spring.application.name}- spring.application.name−{spring.profiles.active}.${spring.cloud.nacos.config.file-extension}作为文件id,来读取配置。
使用方式有两种方式
第一种直接使用Value注解
在Controller中增加一个变量
@Value("${blog.name}")
private String blogName;
为了这个配置实现实时更新,在Controller上增加一个注解
@RefreshScope
public class UserController {}
此时使用该变量是从Nacos中读取的,如果在Nacos中变更,客户端这边也会实时收到更新。
第二种是增加一个专门管理配置的类,先注释之前的变量和注解
package cn.itcast.user.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @Auther: Java小强
* @Date: 2022/1/30 - 15:44
* @Decsription: cn.itcast.user.config
* @Version: 1.0
*/
@Data
@Component
@ConfigurationProperties(prefix = "blog")
public class BlogConfig {
private String name;
}
然后在Controller中注入该类进行使用即可。