SpringCloud 项目整合Nacos详细步骤

SpringCloud 项目整合Nacos详细步骤

  • 1. 引入注册中心
  • 2. 引入配置中心
  • 3. 学习链接

1. 引入注册中心

引入注册中心的意思是,这个服务注册到nacos里面,相当于服务被发现
大前提-----我的spring-cloud基础依赖已经引入过了,现在只是加入nacos

1.1 在父类里面引入

            <dependency>
                <groupId>com.alibaba.cloudgroupId>
                <artifactId>spring-cloud-alibaba-dependenciesartifactId>
                <version>2.2.0.RELEASEversion>
                <type>pomtype>
                <scope>importscope>
            dependency>

1.2 在子类里面引入

        
        <dependency>
            <groupId>com.alibaba.cloudgroupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
        dependency>

1.3 在子类的application.yml文件,配置如下
配置完称,打开nacos客户端页面,服务管理->服务列表,里面就有该服务

server:
  port: 6002

spring:
  application:
    name: sign-work
  profiles:
    active: dev
  cloud:
    nacos:
      # nacos注册中心地址,注意:结尾不能带斜杠/
      discovery:
        server-addr: 101.11.22.123:8848
        namespace: 2d4de5e3-eeee-4377-b0e0-d3dffad51fe7
        

SpringCloud 项目整合Nacos详细步骤_第1张图片

SpringCloud 项目整合Nacos详细步骤_第2张图片

SpringCloud 项目整合Nacos详细步骤_第3张图片

2. 引入配置中心

2.1 同上面,先父pom引入依赖,一如过了,就不要再重复添加了

            <dependency>
                <groupId>com.alibaba.cloudgroupId>
                <artifactId>spring-cloud-alibaba-dependenciesartifactId>
                <version>2.2.0.RELEASEversion>
                <type>pomtype>
                <scope>importscope>
            dependency>

2.2 在子类里面引入了

        
        <dependency>
            <groupId>com.alibaba.cloudgroupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
        dependency>

2.3 在子类里面的yml文件
参考(里面有参数详细解析):https://blog.csdn.net/Mrs_chens/article/details/115260208

server:
  port: 6002

spring:
  application:
    # 应用名称
    name: sign-work
  profiles:
    # 环境配置
    active: dev
  # 允许覆盖bean定义
  main:
    allow-bean-definition-overriding: true
  # could-nacos注册中心配置
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 101.11.22.123:8848
        namespace: 2d4de5e3-fb2e-4377-b0e0-d3dffad51fe7
      config:
        enabled: true # 不想使用Nacos进行配置管理,设置为 false 即可,默认true
        # nacos配置中心地址,注意:结尾不能带斜杠 /
        server-addr: 101.11.22.123:8848
        namespace: 2d4de5e3-fb2e-4377-b0e0-d3dffad51fe7
        file-extension: yml
        # 尽量和应用名称一致
        prefix: ${spring.application.name}
        shared-configs:
          -  ${spring.cloud.nacos.config.prefix}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

2.4. 将 application.yml 文件 改名为 bootstrap.yml文件

注意
1. bootstrap 是应用程序的父上下文
2. bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性
3. boostrap 由父 ApplicationContext 加载,比 applicaton 优先加载
4. boostrap 里面的属性不能被覆盖(如果本地有相同名称的属性,不能被覆盖)

SpringCloud 项目整合Nacos详细步骤_第4张图片

2.6 文件名命名规则:sign-work(服务名)-dev(运行环境).yml(扩展名) 【重要】

SpringCloud 项目整合Nacos详细步骤_第5张图片

2.7 按图片配置完后,添加一个controller 测试是否能读取到配置文件

package com.luck.sign.controller;


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;


@RefreshScope
@RestController
@RequestMapping(value = "/config")
public class ConfigController {

    /**
     * 读取 username 配置信息 获取的是windows用户名
     */
    @Value(value = "${username:}")
    private String userName;

    /**
     * 读取 redis 配置信息
     */
    @Value(value = "${spring.datasource.drive-class-name:}")
    private String driveClassName;

    /**
     * 读取 redis 配置信息
     */
    @Value(value = "${server.port:}")
    private String port;

    /**
     * 获取配置内容
     *
     * @return
     */
    @RequestMapping(value = "/get")
    public String getConfig() {
        System.out.println(userName);
        System.out.println(driveClassName);
        System.out.println(port);
        return "userName:"+userName + " driveClassName:" + driveClassName + " port:"+port;
    }

}

6.运行结果如下:
SpringCloud 项目整合Nacos详细步骤_第6张图片

3. 学习链接

1.SpringCloud集成Nacos并使用(里面有讲解参数含义)

2.创建springcloud步骤 - - 本地安装nacos - - nacos注册中心

3.Spring Cloud Alibaba服务注册与配置中心

你可能感兴趣的:(nacos,spring,cloud)