若依RuoYi-Cloud代码学习四---扩展nacos的知识(bootstrap.yml,spring.factories文件)

一、概念

Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台

  • Nacos 的命名组成(以此知道它的作用)
组成部分 全称 描述
Na naming/nameServer 即服务注册中心,与 Spring Cloud Eureka 的功能类似。
co configuration 即配置中心,与 Spring Cloud Config+Spring Cloud Bus 的功能类似。
s service 即服务,表示 Nacos 实现的服务注册中心和配置中心都是以服务为核心的。

作为SpringCloudAlibaba的组件,从它的作用可以看出它替代了之前SpringCloudEurekaSpring Cloud Config

二、nacos作为服务注册中心

  • Nacos 实现服务注册与发现的流程:

1、下载官方的nacos-server程序并启动
2、项目引入依赖spring-cloud-starter-alibaba-nacos-discovery
3、会把服务以服务名(spring.application.name)的方式注册到服务注册中心(Nacos Server
4、在获取了服务提供者的信息后,服务消费者通过 HTTP 或消息中间件远程调用服务提供者提供的服务。
在这里插入图片描述

  • Nacos Client分为服务提供者(Provider Service)和服务消费者(Consumer Service)
<dependencyManagement>
        <dependencies>
            <!--Spring Cloud Alibaba 的版本信息-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--Spring Cloud 的版本信息-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

注意:微服务工程,通过 dependencyManagementSpring Cloud Alibaba的版本信息进行管理,该工程下的各个子模块在引入 Spring Cloud Alibaba各个组件时就不要单独指定版本号了。

  • ry的开启服务发现使用的自定义逐渐@EnableRyFeignClients
@EnableRyFeignClients
@SpringBootApplication
  • 就是加了个扫包默认值
    在这里插入图片描述

三、nacos作为配置中心

1、添加依赖 spring-cloud-starter-alibaba-nacos-config使其在nacos-server实现配置
2、(比如ry-config)配置持久化nacos-server\conf\application.properties找到配置文件添加mysql的连接配置
在这里插入图片描述

四、bootstrap.yml

在这里插入图片描述

  • bootstrap.yml的作用

application.ymlbootstrap.yml在同一目录下:bootstrap.yml先加载 application.yml后加载
bootstrap.yml用于应用程序上下文的引导阶段。bootstrap.yml由父Spring ApplicationContext加载。

  • Spring Boot上下文:

非 Web 应用:AnnotationConfigApplicationContext
Web 应用:AnnotationConfigEmbeddedWebApplicationContext

  • Spring Cloud上下文:Bootstrap(父)
  • 使用bootstrap.yml
<!--SpringCloud2020及以后的版本默认不启用 bootstrap 配置,我们需要在pom里面显式地引入:
bootstrap 启动器-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

五、spring.factories

对于在maven引用的其他外部包加入容器的过程,需要用到spring.factories

  • springboot一般都是为了实现引入的项目自动配置
  • ry中的使用(单纯引入bean
    在这里插入图片描述

ok,就到这里,\(^o^)/~

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值