初识Nacos 配置中心
文档
SpringCloud官方文档:
https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html#_spring_cloud_alibaba_nacos_config
Github中文文档:
https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config
依赖
创建一个SpringBoot,引入相关的依赖,如下:
1 2 3 4 5 6
| <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.1.0.RELEASE</version> </dependency>
|
Properties类型
创建配置
在Nacos控制页面配置相关的配置信息,由于上面的配置文件中未指定拓展名(properties/yml),默认是properties。
配置文件
在classpath目录下创建一个名为bootstrap.properties文件,必须为bootstrap.properties。内容如下:
1 2
| spring.application.name=nacos-config spring.cloud.nacos.config.server-addr=127.0.0.1:8848
|
程序
我们建立简单的web项目:
User
1 2 3 4 5 6
| @Data @AllArgsConstructor public class User { private String username; private Integer age; }
|
UserService
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| @Service public class UserService {
@Value("${user.name}") private String username;
@Value("${user.age}") private Integer age;
public User findUser(){ User user = new User(username,age); return user; } }
|
UserController
1 2 3 4 5 6 7 8 9 10 11
| @RestController public class UserController {
@Autowired private UserService userService;
@RequestMapping(value = "/findUser", method = RequestMethod.GET) public User findUser(){ return userService.findUser(); } }
|
测试结果
Yaml类型
创建配置
配置文件
将Bootstrap文件修改如下:
1 2 3 4 5 6
| spring.application.name=nacos-config
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
|
测试结果
注意:
- 如果Nacos配置的是xxx.yaml.而服务配置上写的是yml,那么也读取不到配置,需要配置文件和Nacos配置的DataId一致。
- 如果使用的是域名的方式来访问配置中心Nacos时,
spring.cloud.nacos.config.server-addr
配置方式为:域名:port
;例如Nocos的域名为abc.com.nacos,监听端口为80,则spring.cloud.nacos.config.server-addr=abc.com.nacos:80
. 80端口不能省略。