本文介绍spring boot集成nacos config,注意这里和spring cloud没任何关系,单纯基于spring boot。
0、环境
- jdk 1.8
- nacos 2.0.3
- Idea 2021.1
- maven 3.8.1
1、springboot搭建
Idea新建maven项目,构建完成后,添加以下依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--注意版本对应,否则启动不起来-->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.11</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
继续添加springboot启动类:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
再添加配置文件,application.yml:
server:
port: 9080
spring:
application:
name: nacos-config-sample
#nacos的地址配置
nacos:
config:
server-addr: 127.0.0.1:8848
namespace: dev
好了,到此为止,springboot环境构建完成。你可以启动试试,看能正常启动不。
2、配置nacos config
打开nacos控制台,按下图标号顺序点击:
点击“+”后,出现下图:
输入图上的配置,注意,组名不动,保持默认。输入完成后,保存。
3、写一个读取配置的controller
@RestController
@NacosPropertySource(dataId = "example", autoRefreshed = true)
@Slf4j
public class NacosConfigController {
@GetMapping("/config")
public String get() {
log.info("------config controller-------, info = {}", info);
return info;
}
//注意这个默认值的写法,":"前后不能有空格
@NacosValue(value="${info:localData}", autoRefreshed = true)
private String info;
}
注意:
- @NacosPropertySource(dataId=“example”, autoRefreshed=true),其中,dataId必须与nacos中配置的dataId一致。
- @NacosValue(value=“${info:localData}”, autoRefreshed = true),其中,value的表达式,info必须与nacos中配置的一致。
4、测试一下
启动,然后测试一下,结果如下图:
perfect!