Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
开始探索复杂的java项目_Java - Fatal编程技术网

开始探索复杂的java项目

开始探索复杂的java项目,java,Java,在分配给我的项目中,我必须了解一个大型Java项目,它使用Spring框架和angularjs作为前端,我不知道从哪里开始。服务器(Jetty)上运行大量代码,并生成大量日志。对我来说,后端代码比UI方面更感兴趣 我的问题是从哪里开始?我们用于大学/学术实践的Java代码非常简单,并且有一个“main”方法开始 在这个大项目中,我没有看到主要的方法。我如何找到项目的“起点”,然后进一步探索 这个问题有点类似,但不完全是一种可能的开始探索的方法是找到应用程序的重要入口点,然后逐层分析代码 我下面的

在分配给我的项目中,我必须了解一个大型Java项目,它使用Spring框架和angularjs作为前端,我不知道从哪里开始。服务器(Jetty)上运行大量代码,并生成大量日志。对我来说,后端代码比UI方面更感兴趣

我的问题是从哪里开始?我们用于大学/学术实践的Java代码非常简单,并且有一个“main”方法开始

在这个大项目中,我没有看到主要的方法。我如何找到项目的“起点”,然后进一步探索


这个问题有点类似,但不完全是

一种可能的开始探索的方法是找到应用程序的重要入口点,然后逐层分析代码

我下面的解释是基于您在问题评论中提供的信息。(应用程序基于angularjs和spring)。最好调整您的问题,使这些重要信息成为问题的一部分(评论是暂时的,可以在不通知的情况下删除)

启动应用程序并查找其主要功能之一(或您希望在下一个任务中扩展的功能)

打开您喜爱的浏览器的开发者工具,记录所有请求和响应。触发您想要发现的操作。分析记录并找到相应的REST调用。查看request和response参数,思考这个API应该做什么

然后在后端代码中搜索相应的REST控制器。在大多数情况下,如果搜索REST调用URL路径(绑定到控制器或控制器方法)的后一些值,就可以找到它

现在,您已经有了该操作的入口点,您可以进一步发现与在主方法上所做的或多或少类似的内容

您可以重复这些步骤来了解某些功能的实现(一个接一个)。然而,使用这种方法可能会发现应用程序中的某些重要部分。但它将为您提供一个起点,让您探索web界面向用户公开的功能

根据架构的不同,您可能会找到一个具有一些核心功能的地方。那么,独立于前端的api探索这些核心功能将是一个好主意。如果应用程序f.e.采用领域驱动的设计方法,您将发现一个功能(非技术)领域的设计层。然后你会在这里看到更大的画面


如果你有任何人知道应用程序是如何设计的,你当然应该通过采访这个人开始你的发现。如果无法联系到每一位有知识的人,您必须查看一些文档,或者像我试图描述的那样,您必须自己发现应用程序。

在这种情况下,没有人可以帮助您。最好找一个能和你坐在一起帮助你分析项目的朋友。大型项目通常使用一些框架来管理对象、连接和初始化控制器类等。你知道在你的案例中是否使用了springe或jee之类的工具吗。此信息将有助于提供更多提示。是的,我的项目使用spring框架,使用了什么前端技术?f、 angularjs,jsf…从学习web应用程序的一般工作原理和spring应用程序的工作原理开始。向你的同事寻求帮助。