Spring Cloud Alibaba教程 第二弹 Nacos配置管理

今天药忘吃喽~ 2022-12-13 14:24 210阅读 0赞

写在前面的话

更多Spring与微服务相关的教程请戳这里 火力全开系列 Spring与微服务教程合集 持续更新

1、入门示例

1.1、nacos服务端

首先启动nacos,然后在nacos的配置列表页面,新增三个配置,分别是:

  • nacos-client.yaml
  • nacos-client-test.yaml
  • nacos-client-prod.yaml

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hsXzE4MDM_size_16_color_FFFFFF_t_70

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hsXzE4MDM_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hsXzE4MDM_size_16_color_FFFFFF_t_70 2

1.2、nacos客户端

1.2.1、pom.xml

  1. <properties>
  2. <spring-cloud-alibaba.version>2.0.2.RELEASE</spring-cloud-alibaba.version>
  3. </properties>
  4. <dependencies>
  5. <dependency>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-web</artifactId>
  8. </dependency>
  9. <dependency>
  10. <groupId>com.alibaba.cloud</groupId>
  11. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  12. </dependency>
  13. </dependencies>
  14. <dependencyManagement>
  15. <dependencies>
  16. <dependency>
  17. <groupId>com.alibaba.cloud</groupId>
  18. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  19. <version>${spring-cloud-alibaba.version}</version>
  20. <type>pom</type>
  21. <scope>import</scope>
  22. </dependency>
  23. </dependencies>
  24. </dependencyManagement>

1.2.2、bootstrap.yml

注意:

  • nacos客户端会根据spring.application.name去找对应Data Id的配置,比如下面的配置,就会识别到nacos-client.yaml配置文件
  • 并且,nacos客户端还会根据spring.profiles.active去找激活的配置,比如下面的配置,就会识别到nacos-client-test.yaml配置文件

    spring:
    profiles:

    1. active: test

    application:

    1. name: nacos-client

    cloud:

    1. nacos:
    2. config:
    3. file-extension: yaml
    4. server-addr: 127.0.0.1:8848

1.2.3、controller

  1. @RestController
  2. public class ConfigController {
  3. @Value("${user.name}")
  4. private String username;
  5. @Value("${user.password}")
  6. private String password;
  7. @Value("${user.school}")
  8. private String school;
  9. @Value("${user.age}")
  10. private String age;
  11. @Value("${user.env}")
  12. private String env;
  13. @RequestMapping("/getConfig/{key}")
  14. public String getConfig(@PathVariable(value = "key") String key){
  15. if("username".equals(key)){
  16. return username;
  17. }else if("password".equals(key)){
  18. return password;
  19. }else if("school".equals(key)){
  20. return school;
  21. }else if("age".equals(key)){
  22. return age;
  23. }else if("env".equals(key)){
  24. return env;
  25. }else{
  26. return "the value is empty by this key!";
  27. }
  28. }
  29. }

发表评论

表情:
评论列表 (有 0 条评论,210人围观)

还没有评论,来说两句吧...

相关阅读