谷粒商城笔记
Posted 敲代码的小小酥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谷粒商城笔记相关的知识,希望对你有一定的参考价值。
1.linux中安装docker,下载redis,
在docker hub中,是个镜像市场,可以下载很多装好各种软件的docker镜像。
安装docker参照docker官网里的resources ->>documents文档进行操作。
docker CE:免费开源
docker EE:企业版收费。 两者有何区别?
docker镜像配置成阿里云的镜像,下载镜像会快。
docker安装redis和mysql。如何拉取指定版本的软件镜像下载?
创建容器实例并启动。
-v 挂载参数等。
docker详情另行学习,学习地址:B站视频
git使用详情另行学习。
2.电商项目,数据量巨大,所有的表不管 有没有关系,都不建立外键关系。
3.mybatis-plus是干啥的?
4.guava jar包冲突解决方案
起因:依赖的第三方jar里都依赖了guava的jar包,但是依赖的版本不同,造成了jar包冲突,项目报错。
解决: idea 通过依赖树查看冲突的jar包,然后定一个最高版本,在项目的pom中手动定义版本,解决jar冲突问题。
5.feign如何定义发送get请求还是post请求?如何整合rpc接口?
6.nacos配置中心默认读取的配置集是本项目的项目名.properties 为data-id的配置项。
7.spring.cloud.nacos.config.ext-config[0].refresh=true 该参数表示是否开启自动更新,根据是否需要自动更新觉得是否配置,如果需要自动更新,加上这个配置后还需要在需要自动更新配置的 Bean 上面增加@RefreshScop 注解。然后对应的 Bean 内部的属性就可以实现自动更新了。增加了spring.cloud.nacos.config.ext-config[0].refresh=true 配置后在修改了 Nacos 中的配置过后日志会出现下面信息,会重新加载配置,并且输出变更的 key 信息。
双重配置才可以自动刷新
8.用配置中心配置数据库连接等配置文件的配置,达到配置文件的动态刷新
最终的效果可以达到项目里只需要一个bootstrap.properties配置文件即可。其他配置文件都放在配置中心中。
数据源配置在配置中心,动态切换有效果?
项目启动的时候,输出日志会写读取了nacos中哪些配置,如下:
2022-07-30 15:04:00.935 INFO 10464 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource name='bootstrapProperties-gulimall-coupon.properties,DEFAULT_GROUP', BootstrapPropertySource name='bootstrapProperties-gulimall-coupon,DEFAULT_GROUP', BootstrapPropertySource name='bootstrapProperties-datasource.yml,dev']
nacos动态修改mysql数据源方法,参考链接:
https://www.cnblogs.com/liyhbk/p/16077443.html
@RefreshScope注解原理探索
一般企业中哪些内容配置到nacos中?哪些内容是不需要配置到配置中心中,进行动态修改的?
9.排除数据库连接,在SpringBoot的@SpringBootApplication注解中,exclude属性写DataSourceAtuoConfiguration.class即可。研究这里的原理。
10.gateway的路由配置配置在nacos中动态修改可以动态更新,不用特殊配置。
11.nacos自定义data-id配置项的配置,以及redis配置中心配置等相关的配置参考这个文章:https://www.cnblogs.com/xing1/articles/15757305.html。
在默认配置中,应用读取的是应用名.file-extension的值,还是应用名.properties的值,还是应用名-active.file-extension的值,是各版本规定的不同?需要研究确认。
如果手动指定自定义命名的data-id,而不是按规则命名的data-id,需要用extension-config进行指定。
12.ES6新语法:
let:声明一个变量,不会越域,而var的变量会越域
const:声明一个常量,这个常量不能再被修改了。
字符串模板特性: 用``来直接拼接html元素,无需手动加号拼接,动态变量的如何拼接?
使用插值表达式即可,例如:
let info=我是$name,年龄$age
其中name和age就可以读取js中的变量或者变量都行。
ES6新特性,参考资料文档总结敲一遍
- 商品模块CategoryServiceImpl类里listWithTree方法,lamaba表达式,学习一下。
14.renren-fast-vue前端框架,分析一下。跨域,路由等等配置如何运转的。
15.前端项目直接写的请求地址是renren-fast的后台地址。现在改成微服务模块,前端地址需要写成网关gateway地址,由网关进行转发到各个微服务。
16.想要使用gateway进行请求转发,就需要把服务加入到nacos配置中心中,只有注册到注册中心,gateway才可以获取到该服务。其中的流程是怎样的?需要研究。
- gateway的RewriterPath配置详解。filters配置都有哪些?官网查看
18,跨域的后台配置,在gateway中统一配置可以跨域即可。因为gateway会拦截所有i请求进行转发。具体看gateway包中的GulimallCorsConfiguration类。
19.遇坑:在微服务架构中,如果在项目中配置文件中配置的信息一直没有加载到,则有可能是在配置中心中配置了相关信息,配置中心的优先级高于本地配置文件。gateway中规则的配置就遇到了这个问题。
20.mybatis-plus插件提供了统一配置逻辑删除的功能,研究此功能的应用。
21.Long 缓存-127~128。比较这个区间之外的数字,用==是false。
22.element-ui组件的事件event属性,在组件标签中写@事件属性=“回调函数” 来触发。
23.分布式文件系统有哪些: fastdfs、阿里OSS。分布式文件系统产生的原因研究。
24.JSR303校验,后台校验。前端表单校验后,后端还需要校验?
以上是关于谷粒商城笔记的主要内容,如果未能解决你的问题,请参考以下文章