通过maven搭建一个springboot项目
第一步、下载并运行起nacos
下载nacos服务器的程序包:https://github.com/alibaba/nacos/releases/
下载tar.gz或者zip包进行解压,进入bin,双击startup.cmd运行nacos
新版本需要在后面加上 -m standalone
startup.cmd -m standalone
建议查看官方文档(这永远是正确的学习方法):https://nacos.io/zh-cn/docs/quick-start.html
运行后访问一下 http://127.0.0.1:8848/nacos/
用户名和密码都是:nacos
第二步、引入依赖,编写yml配置文件
spring-cloud-alibaba的依赖管理
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
引入配置中心和服务注册中心的客户端依赖
<!--nacos配置中心客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--nacos服务注册客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
需要有两个yml文件,分别是bootstrap.yml和 application.yml配置文件的内容如下
bootstrap.yml
spring:
application:
name: nacos-client #应用名,后面用到配置中心则需要根据这个值和扩展名在配置中心上建配置文件
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
config:
server-addr: 127.0.0.1:8848
file-extension: yml
application.yml
spring:
profiles:
active: dev
在nacos的服务新建一个类型为yaml的配置文件,并且输入一些信息
第三步、给启动类添加注解
启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class NacosClient9001 {
public static void main(String[] args) {
SpringApplication.run(NacosClient9001.class, args);
}
}
Controller类
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RefreshScope//加入该注解支持动态刷新配置中心的配置信息
public class UserController {
@Value("${config.info}")//这里的值实际上就是在nacos中新建配置输入dataId后面输入的yml配置
private String configInfo;
@GetMapping("/config/get")
public String test(){
System.out.println(configInfo);
return configInfo;
}
}
成功后访问Controller中设置的/config/get查看是否成功从nacos获取nacos上配置的nacos-client-dev.yml文件内的内容,同时控制台也会打印出同样的信息,说明nacos作为配置中心使用成功