一、创建一个项目
首先创建一个空项目,然后引入Nacos的依赖,并选择正确的SpringBoot和Nacos版本,如果版本选择不对的话可能会启动失败,带来很大的问题
   
    - 
     
      
     
     
      
           
       <!--SpringBoot的版本-->
      
     
 
    - 
     
      
     
     
      
           
       <parent>
      
     
 
    - 
     
      
     
     
              
       <groupId>org.springframework.boot
       </groupId>
      
     
 
    - 
     
      
     
     
              
       <artifactId>spring-boot-starter-parent
       </artifactId>
      
     
 
    - 
     
      
     
     
              
       <version>2.4.2
       </version>
      
     
 
    - 
     
      
     
     
              
       <relativePath/> 
       <!-- lookup parent from repository -->
      
     
 
    - 
     
      
     
     
          
       </parent>
      
     
 
    - 
     
      
     
     
          
       <!--Nacos配置中心-->
      
     
 
    - 
     
      
     
     
              
       <dependency>
      
     
 
    - 
     
      
     
     
                  
       <groupId>com.alibaba.cloud
       </groupId>
      
     
 
    - 
     
      
     
     
                  
       <artifactId>spring-cloud-starter-alibaba-nacos-config
       </artifactId>
      
     
 
    - 
     
      
     
     
                  
       <version>2021.1
       </version>
      
     
 
    - 
     
      
     
     
              
       </dependency>
      
     
 
    - 
     
      
     
     
              
       <!--Nacos 注册中心-->
      
     
 
    - 
     
      
     
     
              
       <dependency>
      
     
 
    - 
     
      
     
     
                  
       <groupId>com.alibaba.cloud
       </groupId>
      
     
 
    - 
     
      
     
     
                  
       <artifactId>spring-cloud-starter-alibaba-nacos-discovery
       </artifactId>
      
     
 
    - 
     
      
     
     
                  
       <version>2021.1
       </version>
      
     
 
    - 
     
      
     
     
              
       </dependency>
      
     
 
    - 
     
      
     
     
       
      
     
 
    - 
     
      
     
     
              
       <dependency>
      
     
 
    - 
     
      
     
     
                  
       <groupId>org.springframework.boot
       </groupId>
      
     
 
    - 
     
      
     
     
                  
       <artifactId>spring-boot-starter-web
       </artifactId>
      
     
 
    - 
     
      
     
     
              
       </dependency>
      
     
 
   
   
 在整合Nacos过程中需要根据 SpringBoot 版本来选择 注册中心和配置中心的依赖版本,在这里我选择的是如下的这个版本。
 
   如果需要选择其他版本请看版本说明-->版本说明。
二、使用注册中心
1、首先增加注册中心的依赖配置,在application.yml配置文件中加入以下配置
   
    - 
     
      
     
     
      
       server:
      
     
 
    - 
     
      
     
     
      
         port: 8089
      
     
 
    - 
     
      
     
     
      
       spring:
      
     
 
    - 
     
      
     
     
      
         application:
      
     
 
    - 
     
      
     
     
      
                #需要标识应用的名称
      
     
 
    - 
     
      
     
     
      
           name: nacosProject
      
     
 
    - 
     
      
     
     
      
         cloud:
      
     
 
    - 
     
      
     
     
      
           nacos:
      
     
 
    - 
     
      
     
     
      
             discovery:
      
     
 
    - 
     
      
     
     
      
                #Nacos 注册中心的地址
      
     
 
    - 
     
      
     
     
      
               server-addr: 127.0.0.1:8848
      
     
 
    - 
     
      
     
     
      
               #注册到不同的命名空间 加上命名空间ID 如果默认为public 则namespace则不用配置
      
     
 
    - 
     
      
     
     
      
               namespace: f1546389-b623-4424-aff0-b8a392219afb
      
     
 
   
 
 2、在启动类中加入注解 @EnableDiscoveryClient
   
    - 
     
      
     
     
      
       @SpringBootApplication
      
     
 
    - 
     
      
     
     
      
       @EnableDiscoveryClient
      
     
 
    - 
     
      
     
     
      
       public 
       class 
       NacosProjectApplication {
      
     
 
    - 
     
      
     
     
       
      
     
 
    - 
     
      
     
     
          
       public 
       static 
       void 
       main
       (String[] args) {
      
     
 
    - 
     
      
     
     
      
               SpringApplication.run(NacosProjectApplication.class, args);
      
     
 
    - 
     
      
     
     
      
           }
      
     
 
   
 
 3、 启动服务器
注:Nacos的运行需要以至少2C4g60g*3的机器配置下运行。
Linux/Unix/Mac Nacos启动命令
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Linux/Unix/Mac Nacos关闭命令
sh shutdown.sh
Windows Nacos启动命令
启动命令(standalone代表着单机模式运行,非集群模式):
startup.cmd -m standalone
Windows Nacos关闭命令
shutdown.cmd 或者双击shutdown.cmd运行文件。
配置完上面的基本没什么问题,启动服务后就可以在nacos注册中心内看到注册的服务了。这里只是单纯的记录了整合nacos,如果有其他需要请自行添加。
三、使用注册中心出错问题解决
问题:
如果配置好了注册中心,在启动过程中出现下面的问题,多半是由于版本导致的问题
解决办法:根据版本说明,选择正确的版本依赖
 
   四、使用配置中心
1、 添加配置中心的配置文件
   
    - 
     
      
     
     
      
       server:
      
     
 
    - 
     
      
     
     
      
         port: 8089
      
     
 
    - 
     
      
     
     
      
       spring:
      
     
 
    - 
     
      
     
     
      
         profiles:
      
     
 
    - 
     
      
     
     
      
           active: dev
      
     
 
    - 
     
      
     
     
      
           #需要定义应用名称
      
     
 
    - 
     
      
     
     
      
         application:
      
     
 
    - 
     
      
     
     
      
           name: nacosProject
      
     
 
    - 
     
      
     
     
      
         cloud:
      
     
 
    - 
     
      
     
     
      
           nacos:
      
     
 
    - 
     
      
     
     
      
             #配置nacos配置中心
      
     
 
    - 
     
      
     
     
      
             discovery:
      
     
 
    - 
     
      
     
     
      
               #Nacos 注册中心的地址
      
     
 
    - 
     
      
     
     
      
               server-addr: 111.11.103.215:8848
      
     
 
    - 
     
      
     
     
      
               #注册到不同的命名空间 加上命名空间ID 如果默认为public 则namespace则不用配置
      
     
 
    - 
     
      
     
     
      
               namespace: e1eee36e-4fcf-47e2-856b-1d49a1bce3d9
      
     
 
    - 
     
      
     
     
      
             #配置nacos配置中心
      
     
 
    - 
     
      
     
     
      
             config:
      
     
 
    - 
     
      
     
     
      
               server-addr: 111.11.103.215:8848 #配置中心的地址
      
     
 
    - 
     
      
     
     
      
               file-extension: yml #后缀名
      
     
 
    - 
     
      
     
     
      
               group: DEFAULT_GROUP      #分组
      
     
 
    - 
     
      
     
     
      
               namespace: e1eee36e-4fcf-47e2-856b-1d49a1bce3d9 #命名空间的id
      
     
 
   
   
 2、 创建一个application.yml文件 自定义本地的值,跟nacos做区分
   
    - 
     
      
     
     
      
       ruoyi:
      
     
 
    - 
     
      
     
     
      
         # 名称
      
     
 
    - 
     
      
     
     
      
         name: 本地1
      
     
 
    - 
     
      
     
     
      
         # 版本
      
     
 
    - 
     
      
     
     
      
         version: 3.3.3
      
     
 
   
 
 3、 创建一个测试类
   
    - 
     
      
     
     
      
       import org.springframework.beans.factory.annotation.Value;
      
     
 
    - 
     
      
     
     
      
       import org.springframework.cloud.context.config.annotation.RefreshScope;
      
     
 
    - 
     
      
     
     
      
       import org.springframework.web.bind.annotation.RequestMapping;
      
     
 
    - 
     
      
     
     
      
       import org.springframework.web.bind.annotation.RestController;
      
     
 
    - 
     
      
     
     
      
       import java.util.HashMap;
      
     
 
    - 
     
      
     
     
      
       import java.util.Map;
      
     
 
    - 
     
      
     
     
      
       /**
      
     
 
    - 
     
      
     
     
      
        * @ Description:
      
     
 
    - 
     
      
     
     
      
        * @PACKAGE_NAME: com.nacos.nacosproject.controller
      
     
 
    - 
     
      
     
     
      
        * @date 2023-01-31 11:19
      
     
 
    - 
     
      
     
     
      
        */
      
     
 
    - 
     
      
     
     
      
       @RefreshScope
      
     
 
    - 
     
      
     
     
      
       @RestController  
       //自动刷新注解
      
     
 
    - 
     
      
     
     
      
       @RequestMapping("/order")
      
     
 
    - 
     
      
     
     
      
       public 
       class 
       OrderController {
      
     
 
    - 
     
      
     
     
       
      
     
 
    - 
     
      
     
     
          
       @Value("${ruoyi.name}")
      
     
 
    - 
     
      
     
     
          
       private  String name;
      
     
 
    - 
     
      
     
     
          
       @Value("${ruoyi.version}")
      
     
 
    - 
     
      
     
     
          
       private String version;
      
     
 
    - 
     
      
     
     
       
      
     
 
    - 
     
      
     
     
          
       @RequestMapping("/getOrder")
      
     
 
    - 
     
      
     
     
          
       public Map<Object,Object> 
       tesController
       (){
      
     
 
    - 
     
      
     
     
      
               Map<Object,Object> map = 
       new 
       HashMap<>();
      
     
 
    - 
     
      
     
     
      
               map.put(
       "name",name);
      
     
 
    - 
     
      
     
     
      
               map.put(
       "age",version);
      
     
 
    - 
     
      
     
     
              
       return map;
      
     
 
    - 
     
      
     
     
      
           }
      
     
 
    - 
     
      
     
     
      
       }
      
     
 
   
   
 4、 在IDEA 中添加环境变量
spring.cloud.bootstrap.enabled=true
 
   5、 然后测试接口看是否能获取到nacos配置文件上的值
转载:https://blog.csdn.net/mws666/article/details/128812515
					