大学毕业后,终于找到了一份Java后端的工作,这几天在看公司之前的代码;主要是因为公司需要重构一个老项目,这才让我有机会看到之前的大部分代码;作为一个应届生,项目经历属实寒酸,以下是我这两天阅读源码,了解业务的一套流程,仅仅是自己摸索出来的(仅供参考);好在项目的前端后端都在本地跑起来了,调试起来非常方便;

  1. 第一步,秉持着业务优先的原则,了解这个项目的业务背景是十分必要的,最好可以拿自己的话梳理一个全局的流程,既然你是应届生,一般的公司就不会让你马上参与到实际的开发中,前面一段时间你有很多机会去了解公司的核心业务,不懂的就问(别人不忙的时候),我做的是一个金融项目,有许多专业名词是以前没有接触过的,那么就很有必要去学习一下(Google,ChatGpt),这也是理清业务的必要条件之一;
  2. 梳理业务流程的时候,我个人觉得难免回去阅读一下源码搭配着来,连接一下测试环境的数据库,看看有哪些表,表的一些字段,看一下整个项目的层次,有大家比较熟悉的全局异常处理,统一返回结果格式,一些枚举值,一些控制层接口,在有注释的条件下,你可以快速的了解一些局部的流程;
  3. 看源码的时候可以看看项目的pom文件/配置文件,这可以帮助我们了解项目大概使用了哪些技术栈,是否是你擅长的,如果你没有接触过,那么就需要提前去学习了,以免耽误开发进度;
  4. 在心中大概有一个流程的时候,你就可以去做笔记了(或者是画业务流程图),一边做一边就会发现问题,整个业务不能出现逻辑的漏洞或者错误,不同的环节需要清晰地知道应该属于哪一个功能模块,对于参与流程中的人员也要区分开来,每个人员有不同的任务;画图的探索和修改过程中,你会对业务有一个更深的了解!(ER图、业务流程图、用例图、架构图)

基本上就是这么个流程,我也花了两天时间,用自己的话走了一个大概流程,给组长看了,没有什么大问题,这就算有实际产出了。。。


话说回来,刚到第一天的时候,组长说你能把项目跑起来就行,记得用sit环境,别用生产环境,那个是锁ip的,会报错;然后我就屁颠屁颠的就看了一眼配置文件,有好多没见过的名字,之前只看过dev,local,现在还有好多sit,sit1,baksit,sit2,uat,prepord,pord啊,不管是否规范,总结下来也就这几种(一般用yml)

src/main/resources/
|-- application.yml        # 默认配置文件
|-- application-dev.yml     # 开发环境配置文件
|-- application-sit.yml     # 系统集成测试环境配置文件
|-- application-uat.yml     # 用户验收测试环境配置文件
|-- application-prod.yml    # 生产环境配置文件

这么一看就十分清晰了吧,为什么我们需要管理不同的配置环境呢?

在微服务项目中,不同部署环境的配置非常重要,因为它们确保了应用程序能够在不同的环境中正确运行,同时也帮助维护应用程序的安全性和稳定性。

下面我们来详细解读一下每个环境的不同与使用场景

  1. dev -- development(开发环境);提供了更多的日志记录/错误报告等等,简单说一切都是为了便于开发与调试;
  2. sit -- System Integration Testing(系统集成测试环境);用与验收多个服务的集成情况,可以说是咱们功能开发的差不多了,得先验收一下,看看有没有什么大问题;
  3. uat -- User Acceptance Testing(用户验收测试环境);用于验证应用程序是否满足业务需求,这个时候,我们的配置已经相当接近实际生产环境的配置了,属于是测试通过后的迭代版本;
  4. prod -- Production(生产环境);实际投产的配置环境,提供更高的安全和访问控制,日志和错误报告的级别比较低,用于保护敏感数据;高可用!

使用是在application.yml中,使用:

spring:
    profiles:
        active: dev

指定具体配置文件即可;
到此一般的环境我们就了解完毕了,多学一点;
在我之前学习Nacos时,把它作为配置中心来使用,还学到了一个叫bootstrap.yml的配置文件,这是Spring Boot应用程序中的一个特殊配置文件,它在Spring Boot应用程序启动时被优先加载。这个文件的主要目的是用于初始化Spring Boot应用程序的上下文,通常用来配置一些早期加载的bean或设置一些重要的启动参数。
可以说这个文件的加载优先级很高哈,所以一些通用的配置咱们可以放在这里面先加载,然后不同环境的不同配置,咱们再去按指定的去找,两个一拼,就是一个完整的配置文件了!

感谢阅读,有任何问题请评论指正,开启您的编程之旅吧❤。。。


10x
2 声望0 粉丝

❤疯狂打码中❤