从一个C++开发者看Java之(四)精准切入
写在前面
上一篇,我说过,了解一个java服务业务最快的方法是看日志。这点其实没问题,但是要分环境。如果你遇到的是一个测试环境的日志,并且放在那里已经好几年了,那就只能用本文的方法了。
Java代码惯例
入口函数
        在 Java 中,入口函数(程序启动点)是 public static void main(String[] args) 方法。

但是,但是,但是,这和C++完全不是一个套路
对吧,C++里面这个时候就要做一些初始化,或者是启动线程做其他事情去了,Java倒好,打印个东西,结束了。
别急,让我们了解下为什么是这样?一定是我们不了解所以才会觉得怪
这里插一句,可以使用快捷键直接调出来所有可运行的入口类
Alt+Shift+F10
如何启动
        当一个 Java 应用启动时,main 函数看似没有业务代码却能执行业务功能,核心在于框架的启动机制和代码的间接调用。
这个时候,我们需要搞定第一个事情,确定有无框架,有框架是哪种框架?
可能这个时候直接说框架这个概念,有点过早,但是这确实会影响我们如何能找到业务的启动入口。简单的说,框架是一组预先编写好的代码结构和库,它们提供了一种组织和设计你的应用程序的方式。框架旨在简化开发过程,提高代码的可重用性,并促进最佳实践的采用。就和C++的库一样,只不过它提供了一些功能之外的新特性。
这里我要说一下,此时我还不知道我误入了歧途,但我还不自知。还一直以为是依赖注入启动了业务,提前剧透一下,并不是的
为了防止大家也走弯路,我就悬崖勒马了,这部分后面用到了再说,这里不再赘述
迷雾茫茫
抱着好奇的心态,我全文搜索了一下main接口,竟然出现了多个,此时千万只草泥马在心中奔腾而过【等我这段时间学习完,回过头来把文章重新整理下,表情包给大家上上】。这特么的是玩我呢么,这个么多个main是干毛呢?
就在我骂骂咧咧的时候,一颗启明星升了起来,照了我一下,对,照了一下
直接放大招,这里才是真正的入口
这就像C++了对吧,该初始化初始化,该跑业务跑业务

新的问题
新的问题接踵而来,也是一个很关键的问题,既然有这么多main入口,哪个才是真正的李逵?反正启明星照了一下,也不差照我第二下,我就直接问了
答案是:配置中会写。什么配置?pom.xml (不清楚这个是什么的看前面的章节就行)

看到了吗?是不是和上面的那张图的方法一样
简单介绍下在 Maven 项目的 pom.xml 中,主函数(main 方法)的位置由以下配置层级决定

这么看下来,pom.xml文件中还有很多地方要学习和了解,下一篇专门写一下,一个标签一个标签分析下,Mark一下
此时,我们已经找到了程序的入口。接下来,似乎就可以探索服务本身了
