如何玩转一个开源项目-如何运行和读代码

1. 了解项目是干嘛的,有没有兴趣学习,有哪些技术点,一般在开源项目最后作者都会留有自述文件。(可以提前拆分了解技术点,大体有个概念后,对项目入手有较大的帮助)如何玩转一个开源项目-如何运行和读代码_第1张图片
2. 将项目跑起来(跑起来才有信心进行接下的学习)

如何玩转一个开源项目-如何运行和读代码_第2张图片

3. 阅读项目源并调试(可结合某个运行起来的功能入手,一个组件一个组件的弄熟、看报错、看日志、看打印变量)

正好准备搞一个个人博客,凑着一块来吧,Github搜Halo
此项目是基于SpringBoot写的,下面了解一下项目结构

首先是build.gradle 项目管理文件 里面是各种依赖(直接在此文件就可以看出用了那些技术点,可以拆分了解一下具体的知识点)

如何玩转一个开源项目-如何运行和读代码_第3张图片

其次就是src文件夹 里面是源码以及资源文件

如何玩转一个开源项目-如何运行和读代码_第4张图片

Java文件夹中的Application文件为SpringBoot项目的入口文件(有些可能命名不是这个,根据位置找就行了,main方法在就是)

如何玩转一个开源项目-如何运行和读代码_第5张图片

resources目录下的.yaml 为配置文件

如何玩转一个开源项目-如何运行和读代码_第6张图片

banner文件 启动时的样式,类似于欢迎页的东西

如何玩转一个开源项目-如何运行和读代码_第7张图片

resources目录下的目录里面存档的是静态资源

如何玩转一个开源项目-如何运行和读代码_第8张图片

下面是看源码的主要步骤:
建议首先从controller(控制器)看起,以为这里是前后端交互的入口如何玩转一个开源项目-如何运行和读代码_第9张图片
示例:例如登录 在admincontorller中 可以看到login 调用了adminService 按住ctrl点击 》》可以看到引用的哪个

如何玩转一个开源项目-如何运行和读代码_第10张图片

继续按住Ctrl 点击AdminService就会跳转到对应的Service文件,可以看到此文件是实现的接口,点击左侧的向下箭头,就会跳转到接口

如何玩转一个开源项目-如何运行和读代码_第11张图片

到这里就转到了Service层(服务层) Service层是服务于Controller层的(Controller层没有具体的代码,仅仅是调用,调用的对象就定义在Service里面)

示例:老样子按住Ctrl 跳转到更深一步的代码
如何玩转一个开源项目-如何运行和读代码_第12张图片

文件定位在repository目录下。这里就到了第三层,点开文件就会发现里面是一些SQL语句,所以这层就是数据交互层。

如何玩转一个开源项目-如何运行和读代码_第13张图片

有数据库操作语句就得有实现对象,这时就到了model层,可以看到这里都是一些与数据库强相关的东西

如何玩转一个开源项目-如何运行和读代码_第14张图片

到这里主要的实现代码基本上都有了,后面就是一些其他的(不需要主要去看的东西,而且也不一定能看懂的。。。。):

utils 工具类 存放各种工具
如何玩转一个开源项目-如何运行和读代码_第15张图片

Security 安全类 登录验证等东西
如何玩转一个开源项目-如何运行和读代码_第16张图片

listener 监听类 监听项目运行时的状态等打印在控制台中(有些项目可能没有,个人认为不是太重要)
如何玩转一个开源项目-如何运行和读代码_第17张图片

hander 存放一些处理器 总之就是一些辅助工具
如何玩转一个开源项目-如何运行和读代码_第18张图片

filter 过滤器
如何玩转一个开源项目-如何运行和读代码_第19张图片

factory 工厂
如何玩转一个开源项目-如何运行和读代码_第20张图片

exception 异常定义
如何玩转一个开源项目-如何运行和读代码_第21张图片

event 事件 可能会有继承关系 直接按住Ctrl追踪就行
如何玩转一个开源项目-如何运行和读代码_第22张图片

config 配置
如何玩转一个开源项目-如何运行和读代码_第23张图片

cache 与缓存相关的

下面就到了喜闻乐见的总结环节

Controller ==>Service ==>repository ==>model
主线基本上就这些,其他都是辅助
SpringBoot 我学习的时候是从Spring开始再到SpringMVC再到SpringBoot真的是非常非常吃力,无数个配置文件,几乎都要放弃了。硬着头皮往下学发现SpringBoot我竟然学的还算轻松。如果你和我一样,不妨试着反向学习。

调试:点击左上角的小虫子,以调试模式启动

如何玩转一个开源项目-如何运行和读代码_第24张图片

之后在谷歌浏览器中运行,F12进入开发者模式

如何玩转一个开源项目-如何运行和读代码_第25张图片

例如我想调试登录:

将控制台显示界面切换到Network,点击登录

如何玩转一个开源项目-如何运行和读代码_第26张图片

控制台就会跳出请求过程,在Name栏找到login点击,就会出现如下页面,URL中login复制下来备用

如何玩转一个开源项目-如何运行和读代码_第27张图片

此页面拉到最后,就会看到刚刚代码干的事情

如何玩转一个开源项目-如何运行和读代码_第28张图片

点击Preview可以看到预览

如何玩转一个开源项目-如何运行和读代码_第29张图片

接下来转到Idea中,项目上右击,找到Find in path点击,将刚刚复制的地址粘贴进去

如何玩转一个开源项目-如何运行和读代码_第30张图片

找到后点击

如何玩转一个开源项目-如何运行和读代码_第31张图片

跳转到对应的代码页

如何玩转一个开源项目-如何运行和读代码_第32张图片

由此就可以看出来刚刚浏览器中的操作就是此代码块实现的,在这个地方打个断点,浏览器中退出登录重新点击登录,就会跳入断点

如何玩转一个开源项目-如何运行和读代码_第33张图片

鼠标放代码上就会显示传的参数

如何玩转一个开源项目-如何运行和读代码_第34张图片

在此代码块中找到实现的方法方法,按住Ctrl点击

如何玩转一个开源项目-如何运行和读代码_第35张图片

可以看出这是实现的接口,点击左侧的向下箭头,这里就找的了真正的登录校验代码

如何玩转一个开源项目-如何运行和读代码_第36张图片

在这里打个断点,按F8进入本行代码

如何玩转一个开源项目-如何运行和读代码_第37张图片

之后按F5慢慢调试

如何玩转一个开源项目-如何运行和读代码_第38张图片

一个功能结束之后,同样的方法,一个功能一个功能的慢慢调试,直到吃透整个项目

4. 自己改东西加自己的功能模块(内化为自己的东西)

你可能感兴趣的:(java,springboot,intellij-idea)