文章目录
- 1.安装Nacos
- 1.拉取镜像
- 2.启动Nacos
- 3.开启8848和9848端口
- 1.8848
- 2.9848
- 4.访问nacos
- 1.网址 http://guest:8848/nacos/
- 2.Nacos动态配置(无法实现bean动态加载)
- 1.新建一个配置,使其成为动态的
- 2.引入Nacos依赖
- 3.application.yml配置Nacos
- 4.测试读取Nacos的配置
- 1.FileController.java
- 2.访问测试
- 3.Nacos动态配置(实现bean动态加载)
- 1.SpringBoot依赖版本调整为2.3.8
- 2.引入Nacos的Cloud版本(替换掉之前的)
- 3.删除原来的application.yml的nacos配置
- 4.新建一个bootstrap.yml配置nacos
- 5.新建一个Nacos的配置文件
- DataID命名格式为 prefix + "-" + active + ".yaml" 也就是 sub-club-oss-dev.yaml(注意必须加后缀.yaml!!!)
- 6.添加@RefreshScope注解支持nacos动态刷新
- 1.简要介绍
- 2.修改 StorageConfig.java,添加注解
- 3.测试
1.安装Nacos
1.拉取镜像
docker pull nacos/nacos-server
2.启动Nacos
- –env MODE=standalone:设置 Nacos 的运行模式为单机模式(standalone)
- -w /home/nacos:设置容器的工作目录为
/home/nacos
docker run -d \
--name nacos \
--privileged \
--cgroupns host \
--env MODE=standalone \
-p 8848:8848/tcp \
-p 9848:9848/tcp \
--restart=always \
-w /home/nacos \
nacos/nacos-server
3.开启8848和9848端口
1.8848
systemctl start firewalld && firewall-cmd --permanent --add-port=8848/tcp && firewall-cmd --reload && firewall-cmd --query-port=8848/tcp
2.9848
systemctl start firewalld && firewall-cmd --permanent --add-port=9848/tcp && firewall-cmd --reload && firewall-cmd --query-port=9848/tcp
4.访问nacos
1.网址 http://guest:8848/nacos/
2.Nacos动态配置(无法实现bean动态加载)
1.新建一个配置,使其成为动态的
2.引入Nacos依赖
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.11</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<version>2.4.2</version>
</dependency>
3.application.yml配置Nacos
nacos:
config:
secret-key: nacos
access-key: nacos
data-id: sun-club-oss
group: DEFAULT_GROUP
type: yaml
server-addr: http://guest:8848
auto-refresh: true
remote-first: true # 是否优先从远程加载配置
bootstrap:
enable: true # 在应用启动时首先从Nacos加载配置
4.测试读取Nacos的配置
1.FileController.java
@NacosValue(value = "${storage.service.type}", autoRefreshed = true)
private String storageType;
@RequestMapping("/testNacos")
public String testNacos() throws Exception {
return storageType;
}
2.访问测试
3.Nacos动态配置(实现bean动态加载)
1.SpringBoot依赖版本调整为2.3.8
2.引入Nacos的Cloud版本(替换掉之前的)
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
3.删除原来的application.yml的nacos配置
4.新建一个bootstrap.yml配置nacos
spring:
application:
name: sub-club-oss # 服务名称
profiles:
active: dev # 激活的环境
cloud:
nacos:
config:
server-addr: guest:8848 # Nacos地址
prefix: ${spring.application.name} # 配置前缀为服务名,sub-club-oss-dev为配置文件名
group: DEFAULT_GROUP # 配置分组
namespace: # 命名空间,如果在public命名空间则不需要配置
file-extension: yaml
5.新建一个Nacos的配置文件
DataID命名格式为 prefix + “-” + active + “.yaml” 也就是 sub-club-oss-dev.yaml(注意必须加后缀.yaml!!!)
6.添加@RefreshScope注解支持nacos动态刷新
1.简要介绍
在类上添加注解会让属性动态刷新,在方法上添加注解会让方法内用到的属性跟着动态刷新!