谷粒商城笔记

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.用配置中心配置数据库连接等配置文件的配置,达到配置文件的动态刷新

谷粒商城笔记_第1张图片
最终的效果可以达到项目里只需要一个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新特性,参考资料文档总结敲一遍

  1. 商品模块CategoryServiceImpl类里listWithTree方法,lamaba表达式,学习一下。
    14.renren-fast-vue前端框架,分析一下。跨域,路由等等配置如何运转的。

15.前端项目直接写的请求地址是renren-fast的后台地址。现在改成微服务模块,前端地址需要写成网关gateway地址,由网关进行转发到各个微服务。

16.想要使用gateway进行请求转发,就需要把服务加入到nacos配置中心中,只有注册到注册中心,gateway才可以获取到该服务。其中的流程是怎样的?需要研究。

  1. 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校验,后台校验。前端表单校验后,后端还需要校验?

你可能感兴趣的:(随笔,docker,java,spring,boot)