通過maven搭建一個springboot項目
第一步、下載並運行起nacos
下載nacos服務器的程序包:https://github.com/alibaba/nacos/releases/
下載tar.gz或者zip包進行解壓,進入bin,雙擊startup.cmd運行nacos
運行後訪問一下 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文件內的內容,同時控制檯也會打印出同樣的信息,說明成功