欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > SpringCloudAlibaba项目搭建

SpringCloudAlibaba项目搭建

2025/3/16 0:41:35 来源:https://blog.csdn.net/qq_43980232/article/details/146250763  浏览:    关键词:SpringCloudAlibaba项目搭建

版本关系

我这一套用的是:
  • mySQL版本 5.5.15

  • boot版本 2.2.13.RELEASE

  • cloud版本 Hoxton.RELEASE

  • cloud alibaba版本 2.2.0
    nacos openFeign Gateway sentinel seata的pom赖版本为cloudAlibaba默认的

  • nacos 客户端版本 1.1.4

  • sentinel dashboard版本 1.7.1

  • seata-server 1.0.0

springCloudAlibaba各个组件版本对应关系可参考: Spring Cloud Alibaba 版本发布说明

pom.xml 依赖

 	<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.13.RELEASE</version><relativePath/></parent><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-cloud.version>Hoxton.RELEASE</spring-cloud.version><spring-cloud-alibaba.version>2.2.0.RELEASE</spring-cloud-alibaba.version></properties><dependencyManagement><dependencies><!--springCloud的依赖--><!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--springCloud-alibaba的依赖--><!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-alibaba-dependencies --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><!-- lombok--><!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.16</version></dependency><!-- fastjson --><!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.56</version></dependency><!-- jdbc Connector--><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><!-- mybatis --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.0</version></dependency><!-- spring-boo web启动器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- nacos客户端 服务注册与发现 --><!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- openfeign 微服务接口式调用 里面包含了Hystrix 和 ribbon的jar包 --><!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!-- sentinel --><!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-sentinel --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><!-- gateway网关 --><!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-gateway --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency></dependencies><!-- seata 分布式事务管理 包括了druid 的jar包--><!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-seata --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId></dependency>

配置文件

server:port: 8081 #服务端口号
spring:application:name: service-product #服务名datasource: #数据源配置driver-class-name: com.mysql.jdbc.Driver # 如果数据库版本是8.0.x  这里需要写 com.mysql.cj.jdbc.Driverurl: jdbc:mysql:///shop?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=trueusername: rootpassword: 123456type: com.alibaba.druid.pool.DruidDataSource #seata 1.0.0需要配置这个 不然启动不起来cloud:nacos: #nacos配置discovery:server-addr: 127.0.0.1:8848 #去哪里注册和发现服务  这里应该写nacos服务所在的ip和端口号sentinel: #sentinel 配置eager: truetransport:dashboard: localhost:8080 #sentinel服务 的地址gateway: #网关配置 主要是路由和过滤器globalcors: #全局跨域配置  这里配置的 是所有服务都支持的 一般都配置全局配置cors-configurations:'[/**]':allowedOrigins: '*' # 支持的请求地址 allowedOriginsallowedMethods: # 支持的请求方式 '*' 代表支持所有请求方式- GETroutes:- id: order-route # 路由名uri: lb://service-order # 请求转发给哪一个服务  以负载均衡的策略predicates: # 路径断言- Path=/api/orderNacos/** # 访问路径  例如/api/order/createOrder 会转发给 service-order服务的 /api/order/createOrder#- IncludeParam=pid,3 #自定义路由断言规则测试#order: 0 # 优先级  数字越小 优先级越高
#          metadata:
#            cors: #全局跨域配置  这里配置的 是只有当前服务支持的
#              allowedOrigins: '*' # 支持的请求地址
#              allowedMethods: # 支持的请求方式
#                - GET
#                - POST
#              allowedHeaders: '*'
#              maxAge: 30filters:
#            - OnceToken=X-Response-Token,uuid #自定义过滤器测试
#            - Rewrite=/api/orderNacos/?(?<segment>.*),/$\{segment} # 路径重写  网关转发请求时 默认会原封不动的将路径转发  添加此项后会进行路径重写  例如 这里就是讲路径中的 /api/orderNacos 去掉  也就是将/api/orderNacos/abc转换为 /abc再发送至 service-order服务- AddResponseaHeader=X-Response-Abc,123 #给响应头添加内容  加一个X-Response-Abc  属性值为123- id: product-routeuri: lb://service-productpredicates:- Path=/api/product/**
#      default-filters: #默认过滤器 所有的路由都会生效
#        - AddResponseaHeader=X-Response-All,all #给所有的响应头添加内容
feign:sentinel:enabled: true # 配置 feign接口 也能 被 sentinel 识别

nacos、openFeign等组件支持的开启

//nacos
@EnableDiscoveryClient//openFeign
@EnableFeignClients//seata进行事务管理时需要开启事务
@EnableTransactionManagement

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词