# gulimall
**Repository Path**: my-learning/gulimall
## Basic Information
- **Project Name**: gulimall
- **Description**: 谷粒商城
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-11-08
- **Last Updated**: 2021-11-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
##项目介绍
gulimall-common 公共模块
gulimall-coupon 谷粒商城-优惠卷服务
gulimall-member 谷粒商城-会员服务
gulimall-order 谷粒商城-订单服务
gulimall-product 谷粒商城-商品服务
gulimall-ware 谷粒商城-仓储服务
renren-fast 人人开源后台管理模板
renren-generator 人人开源逆向工程
>感谢人人开源作者,这里用的是开源版本![https://gitee.com/renrenio]

###Nacos 作为注册中心
1.所有服务引入同一管理jar common
com.alibaba.cloud
spring-cloud-alibaba-dependencies
2.2.2.RELEASE
pom
import
2.配置文件
spring
application:
name: gulimall-coupon
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
3.开启服务注册
@EnableDiscoveryClient
###Nacos 作为配置中心
1.
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
2.rescourse 配置bootstrap.properties 这是约定
spring.application.name=gulimall-member
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
Nacos配置管理新增配置默认为gulimall-member.properties
将application.properties(该文件无作用) 复制过去 随时更改自动刷新静态文件
这时gulimall-member.properties会接管application.properties全部内容
**优先使用配置中心。**
3.使用
@RefreshScope 注解刷新
取值
@Value("${gulimall-member.name}")
private String name;
命名空间 (用于配置隔离) 例如: 开发/测试/生产 环境隔离/每个微服务隔离(使用分组来区分环境)
栗子:spring.cloud.nacos.config.namespace=70d6266c-3e5b-46e2-bf6b-4c879788cbac
spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=配置空间
spring.cloud.nacos.config.group=配置分组

.jpg)
同时加载多个配置集
spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=cdc0abe0-a267-4dab-8be3-0853ea841146
spring.cloud.nacos.config.group=dev #没有配置会默认读取默认分组 都没有会读取配置文件
#配置文件名称
spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
#分组
spring.cloud.nacos.config.extension-configs[0].group=dev
#是否动态刷新
spring.cloud.nacos.config.extension-configs[0].refresh=true
#配置文件名称
spring.cloud.nacos.config.extension-configs[1].data-id=mybatis-plus.yml
#分组
spring.cloud.nacos.config.extension-configs[1].group=dev
#是否动态刷新
spring.cloud.nacos.config.extension-configs[1].refresh=true
.jpg)
### OpenFegin
1.引入jar
org.springframework.cloud
spring-cloud-starter-openfeign
2.远程调用放入fegin包下 CouponFeginService
调用gilimall-coupon服务下/coupon/coupon/testOpenFegin这个功能
@FeignClient("gilimall-coupon")
public interface CouponFeginService {
@RequestMapping("/coupon/coupon/testOpenFegin")
public R memberCoupons();
}
3.开启fegin
@EnableFeignClients(basePackages = "com.atguigu.gulimall.member.fegin")
同理;
### Gateway
org.springframework.cloud
spring-cloud-starter-gateway
1.@EnableDiscoveryClient
spring:
cloud:
gateway:
routes:
#示例 可以n个 规则
- id: query_route
uri: https://www.baidu.com
predicates:
- Query=url,baidu
具体参照:https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/
###解决跨域
遇见请求 OPTIONS
真实请求
1.通过nginx部署为同一域
2.配置请求允许跨域
Access-control-allow-origin 支持哪些来源跨域
Access-control-allow-methods 支持方法跨域
Access-control-allow-credentials 跨域请求默认不包含cookie 可以包含 true
Access-control-expose-headers 跨域请求暴漏字段
Access-control-Max-age 最大有效时间
###七牛云存储 阿里云存储
>阿里云存储
1.阿里云存储 -》对象存储OSS-》控制台
存储空间 Bucket 建议一个项目一个Bucket
对象/文件 Object
地域 Region
访问域名 Endpoint
访问密钥 AccessKey
ailibaba一些代码demo
https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md
整合oss存储
https://github.com/alibaba/aliyun-spring-boot/tree/master/aliyun-spring-boot-samples/aliyun-oss-spring-boot-sample
>服务端上传(影响带宽) 服务端签名后上传 两种方式
>七牛云存储