1、选用nacos的原因这里不多说,nacos主要作用是,服务发现,服务健康检测,动态配置服务
2、直接创建一个springboot项目
删除多余的东西
之后我们把first中的parent标签拿过来,最后效果
3、下载nacos
nacos文档地址
https://nacos.io/zh-cn/docs/quick-start.html
吐槽:这东西下载是真的慢.................................................
下载失败了,从别的地方下载了1.1.4,已经上传csdn了,最好还是下载对应版本,没有找到1.3.3,下载1.3.2就行了,这里先拿1.1.4测试用
https://download.csdn.net/download/qq_29673919/79812609
配置nacos连接数据库
nacos配置数据库
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3307/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root
访问地址 ,登录进去就算初步完成
http://127.0.0.1:8848/nacos
账号:nacos
密码:nacos
配置项目,需要的依赖
<dependencies>
<!--Spring Cloud阿里巴巴Nacos发现 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--pring Cloud阿里巴巴Nacos配置中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
yml配置
server:
port: 9527
spring:
application:
name: springcloud-nacos
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #配置Nacos地址
config:
server-addr: 127.0.0.1:8848
prefix: springcloud1
file-extension: yaml # 指定yaml格式的配置
group: DEV_GROUP
namespace: e9e989e9-2688-436f-a6d7-6914ec9d93f7
启动项整个这玩意
@EnableDiscoveryClient
启动项目之后,在nacos中选择服务列表,正常应该有自己启动的服务,但是现在没有显示,缺少一个jar包,引入,重新启动,服务列表就会出现你启动的服务。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
到此服务发现就已经完成了。名字就是和yml中配置的一样。
4、动态配置服务,我们可以把一些服务配置在nacos中
咱们简单配置一下这个,做测试用
编写一个小的接口做测试
package com.example.nacos.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 功能描述: 测试动态配置
* @author admin
* @date 2022/2/9 13:34
*/
@RestController
public class TestController {
@Value("${config.info}")
private String nacosConfig;
/**
* 功能描述: 微服务nacos配置中心测试
* @return java.lang.String
* @author admin
* @date 2022/2/9 13:35
*/
@GetMapping(value = "/nacoss/config")
public String getNacosConfig(){
return nacosConfig;
}
}
9527是我随便配置的端口。访问方法,可以输出咱们配置在nacos中的参数值,证明动态配置生效,修改这个值,刷新接口即可直接获取到新值,但是现在修改不能接收到新的值,需要在加一个注解
@RefreshScope //nacos配置中心动态刷新
之后刷新即可获取到新的值,到此动态配置完成。