【实习记录】第1周 2023.06.27-2023.06.30

概括:

        从6月27日就开始了这段实习,到现在只开发了一个CRUD需求,因为组内的上个项目有些紧张且接近完工,很难给我分配任务,说是下个项目再一起开发,先让我做自己的事(其实带薪学习也挺好哈哈哈哈)。

        这段时间都是在自己学:看公司文档和代码、网上看文章学知识点、跟着视频做牛客论坛、查看秋招相关信息......每天把看到的好文章、重要知识点都写在了word里,并坚持每天写日报(虽然组内没要求写日报,但我觉得每天总结有利于回顾知识,也方便之后回忆每天做了什么)。为了便于查看,遂把word里的内容转移到CSDN上,仅供自己之后回顾查看,所以语言可能写的不通顺顺,望各位海涵。

实习记录:

1. SpringCloud五大核心组件,超详细介绍!SpringCloud五大核心组件,超详细介绍! - 知乎

2. SpringCloud微服务项目搭建流程: SpringCloud微服务项目搭建流程 - 掘金

【实习记录】第1周 2023.06.27-2023.06.30_第1张图片

3. Maven版本不能太高,不然会报一系列的错误。(3.6.3是稳定可用的)

4. SpringCloud搭建,Eureka微服务搭建: SpringCloud搭建,Eureka微服务搭建 - 知乎

5. 微服务网关Spring Cloud Gateway全搞定:微服务网关Spring Cloud Gateway全搞定 - 知乎

6. Spring Cloud和Spring Boot等的版本是个很大的坑(可以看作项目难点),版本不兼容或者不匹配时会出各种各样的错,太劝退了。所以尽量使用之前用过的版本,保证各组件版本之间是兼容的。

        兼容的版本:

        父项目的parent:spring-boot-starter-parent 2.3.12.RELEASE

        java.version:1.8

        spring-cloud.version:Hoxton.SR12

        spring-boot.version:2.3.5.RELEASE

        SpringBoot官方提供了统一的版本管理:为什么在SpringBoot+maven的项目中,所引入的依赖包可以不指定依赖的版本号?

当在Spring Boot项目中引入了spring-boot-starter-parent,则可以不用引入依赖包版本号。

7. Spring Cloud Eureka的心跳服务和自我保护机制:SpringCloud-Eureka[优雅停服] - 知乎

8. SpringBoot pom中 dependency重点属性 scop 和exclusions使用:SpringBoot pom中 dependency重点属性 scop 和exclusions使用_dependency exclude_仅借清风几许几的博客-CSDN博客

9. application.yml中key后面必须跟一个空格,eg: port: 8900

10. SSM框架:Spring、Spring MVC、MyBatis框架的整合,是标准的MVC模式(Dao、service、Controller、View; IOC(控制反转)、AOP(面向切片))。SSM框架讲解(史上最详细的文章)_代码贩子、的博客-CSDN博客

11. Spring框架:谈谈对IOC和AOP的理解:Spring框架:谈谈对IOC和AOP的理解_白白甜甜冰的博客-CSDN博客

        简单描述对AOP和IOC的理解(Inversion Of Control,控制反转(依赖注入);Aspect Oriented Program,面向切片编程)简单描述对AOP和IOC的理解_aop和ioc原理通俗理解_iu梦的博客-CSDN博客

        面试被问了几百遍的 IoC 和 AOP ,还在傻傻搞不清楚?面试被问了几百遍的 IoC 和 AOP ,还在傻傻搞不清楚?_singwhatiwanna的博客-CSDN博客

        Spring源码分析系列(IOC):Spring源码分析 - 知乎

        个人见解:如果不使用IOC容器,B类中需要使用A类的实例化对象时,需要new A();这样B类就会依赖A类;而有了IOC容器,容器首先会找到A类Resource地址,然后将A类实例化对象放到IOC容器中,最后B类可以直接从容器中获取A类实例化对象,降低了类之间的耦合度,也省去了研究A类应该如何实例化(是new还是单例还是工厂……)

12. Maven:管理项目中的依赖包,如果没有Maven的话,需要自己手动去下载包然后导入到项目中,依赖包过多的话会十分麻烦;而有了Maven,它会首先从本地仓库里查找是否有所需要的包,如果没有就从远程仓库下载到本地,十分方便的进行了包的管理,提高了开发效率。

        POM 项目对象模型(Project Object Model)

13. Maven — 通俗易懂的解释:Maven — 通俗易懂的解释_maven通俗解释_LK_Lawliet的博客-CSDN博客

14. XML 指可扩展标记语言(eXtensible Markup Language)。XML 被设计用来传输和存储数据,不用于表现和展示数据,HTML 则用来表现数据。

        xml菜鸟教程:XML 教程 | 菜鸟教程

15. 什么是分布式锁?实现分布式锁的三种方式(关系型数据库,Redis,ZooKeeper)https://www.cnblogs.com/liuqingzheng/p/11080501.html

日报:

 2023.0 6.27 

1. 办理入职

2. 看公司制度等文档

2023.06.28

1. 了解云原生、Docker、k8s;

2. 重新配置maven(版本不能太新,3.6.3较稳定)

3. 学习SpringCloud,并搭建框架 eureka gateway 业务相关的微服务

2023.06.29

1. 解决gateway运行不成功问题,原因是springboot版本与netty版本不兼容,SpringBoot 2.3.4中netty是0.9.12版本,缺少一个函数,SpringBoot2.3.5中的netty0.9.13则有,更改SpringBoot版本之后解决了问题。(当在Spring Boot项目中引入了spring-boot-starter-parent(父依赖),则可以不用引入依赖包版本号。)

2. 看微服务相关文章(讲解gateway的作用,eureka的自我保护机制等等)

3. pom.xml详解、scope、excludes

4. 看牛客项目(SSM)

2023.06.30

1. 了解和配置自己本地的Maven环境

2. 看Spring的IOC和AOP

3. 看完代码随想录的牛客论坛PDF(但有的仍不理解,只是大概看了一遍)

4. 看分布式锁,三种实现方式(关系型数据库,Redis,ZooKeeper)

5. 看消息队列(RabbitMQ,kafka,回宿舍下载)

你可能感兴趣的:(java,spring,maven,spring,cloud)