SpringCloud Alibaba微服务原理与实战-读书笔记

概述

主要包含以下组件

Sentinel 流量控制和服务降级
Nacos 服务注册与发现
Nacos 分布式配置中心
RocketMQ 消息驱动
Seate 分布式事务
Dubbo RPC通信
OSS 阿里云对象存储

springboot自动装配原理

eg:将redis整合到springboot中:
1.添加starter依赖:spring-boot-starter-data-redis
2.在application.properties中配置redis数据源
3.使用@Autowried引入redisTemplate
4.使用
当使用@Autowried注入redisTemplate实例时.说明IOC容器中已经存在RedisTemplate,这是Springboot自动装配而来的
所以,存在一个机制,这个机制的实现基于某种约定或者规范,只要Starter组件符合SpringBoot中自动装配的规范,就能实现自动装配

自动装配的实现

自动装配在SpringBoot中是通过@EnableAutoConfiguration注解开启的,这个注解声明在@SpringBootApplication中

@Enable注解:主要作用是把相关组件的Bean转配到IOC容器中
@Enable注解对JavaConfig进一步完善,常见的@Enable注解有
@EnableWebMvc和@EnableScheduling等

每个@Enable类的注解都包含@Import
SpringCloud Alibaba微服务原理与实战-读书笔记

@ImportSelector的作用

SpringCloud Alibaba微服务原理与实战-读书笔记
SpringCloud Alibaba微服务原理与实战-读书笔记

自动装配的核心是扫描约定目录下的文件进行解析,解析完成后把得到的Configuration配置类通过ImportSelector进行导入,从而完成Bean的自动装配过程

SpringFactoriesLoaderss是Spring内部提供的一种预定俗成的加载方式,类似于Java中的SPI,它会扫描classpath下的METE-INF/spring.factories文件,这个文件的数据由key=value方式存储
SpringCloud Alibaba微服务原理与实战-读书笔记
SpringCloud Alibaba微服务原理与实战-读书笔记
SpringCloud Alibaba微服务原理与实战-读书笔记
SpringCloud Alibaba微服务原理与实战-读书笔记

Conditional条件注解

SpringCloud Alibaba微服务原理与实战-读书笔记
SpringCloud Alibaba微服务原理与实战-读书笔记
SpringCloud Alibaba微服务原理与实战-读书笔记

上一篇:Spring Cloud Alibaba之nacos 配置中心使用


下一篇:使用Ribbon做Spring Cloud Alibaba负载均衡