# spring-cloud-alibaba-component
**Repository Path**: mirrors_gspandy/spring-cloud-alibaba-component
## Basic Information
- **Project Name**: spring-cloud-alibaba-component
- **Description**: Sample of Spring Cloud Alibaba component
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-08-07
- **Last Updated**: 2026-01-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Spring Cloud Alibaba 组件使用
## Nacos
> Nacos 是一个配置和注册中心,类似 Spring Cloud Config 和 Eureka、ZooKeeper、Consul
- [Spring Boot 使用 Nacos 作为配置中心](./boot-config/README.md)
- [Spring Cloud 使用 Nacos 作为配置中心](./cloud-config/README.md)
- [Spring Cloud 使用 Nacos 作为服务注册中心](./cloud-discovery/README.md)
## Sentinel
> Sentinel 是一个流量控制框架,支持流量控制,熔断降级,系统负载保护,类似 Hystrix、resilience4j
- [Spring Cloud 使用 Sentinel 作为限流降级工具](./sentinel-nacos-config/README.md)
## OSS
> spring-cloud-starter-alicloud-oss 是用于阿里云 OSS 的 SpringBoot Starter,通过封装 SDK 实现对 OSS 的操作
- [Spring Cloud 使用阿里云 OSS](./cloud-oss/README.md)
## Dubbo
> Dubbo 是一个远程调用框架,用于实现方法的远程调用
推荐使用 ZooKeeper 作为注册中心,当前使用 Nacos 会有各种问题
- [Spring Cloud 使用 Dubbo 实现远程调用,Nacos 作为注册中心](./cloud-dubbo-nacos/README.md)
- [Spring Cloud 使用 Dubbo 实现远程调用,ZooKeeper 作为注册中心](./cloud-dubbo-zk/README.md)
## Seata
> Seata 是一个分布式事务框架,可以通过 Seata 框架的注解实现非侵入性的分布式事务
- [Spring Cloud 使用 Seata 实现分布式事务 - MyBatis](./cloud-seata-mybatis/README.md)
- [Spring Cloud 使用 Seata 实现分布式事务 - JPA](./cloud-seata-jpa/README.md)
- [Spring Cloud 使用 Seata 实现分布式事务 - Mybatis/Nacos](./cloud-seata-nacos/README.md)
- [Spring Cloud 使用 Seata 实现分布式事务 - Mybatis/Nacos/Dubbo](./cloud-seata-dubbo-nacos/README.md)
- [Spring Cloud 使用 Seata 实现分布式事务 - Mybatis/Eureka/Feign](./cloud-seata-eureka/README.md)
- [Spring Cloud 使用 Seata 实现分布式事务 - Mybatis多数据源](./cloud-seata-multi-datasource/README.md)
- [Spring Cloud 使用 Seata 实现分布式事务 - Mybatis多数据源 & MyBatisPlus](./cloud-seata-multi-datasource-mybatis-plus/README.md)
MyBatis 和 JPA 通过 Seata 实现分布式事务都需要注入 `io.seata.rm.datasource.DataSourceProxy`, 不同的是,MyBatis 还需要额外注入 `org.apache.ibatis.session.SqlSessionFactory`
MyBatis
```java
@Configuration
public class DataSourceProxyConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return new DruidDataSource();
}
@Bean
public DataSourceProxy dataSourceProxy(DataSource dataSource) {
return new DataSourceProxy(dataSource);
}
@Bean
public SqlSessionFactory sqlSessionFactoryBean(DataSourceProxy dataSourceProxy) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSourceProxy);
return sqlSessionFactoryBean.getObject();
}
}
```
JPA
```java
@Configuration
public class DataSourceProxyConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DruidDataSource druidDataSource() {
return new DruidDataSource();
}
@Primary
@Bean
public DataSourceProxy dataSource(DruidDataSource druidDataSource) {
return new DataSourceProxy(druidDataSource);
}
}
```
------------------
## 版本说明
相关的 Spring Boot, Spring Cloud 以及 Spring Cloud Alibaba 之间的对应关系可以参考 [版本说明](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E)
| 组件 | 版本 | 说明|
|:----|:-----|:----|
|Spring Boot |2.1.5.RELEASE||
|Spring Cloud |Greenwich.SR1||
|Spring Cloud Alibaba |2.1.0.RELEASE||
|Seata |0.7.1||
|Dubbo |2.7.3||
Spring Cloud Alibaba 毕业后,Group-id 和部分 ArtifactId 有所变化,需要注意