如何开始学习J2EE,尤其是JPA [关闭]


11

我正在尝试开始学习的J2EE一部分Java。但是我不知道从哪里开始。我与熟悉并且Core Java主要,我想学习JPA和基础知识HibernateSpring Framework。这样做的主要原因是我正在开发一个使用所有这些东西的项目。而且大多数代码是由一些资深人士开发的,我必须对此进行一些修改。所以基本上我需要了解他们的代码。

有人可以给我一种路线图,例如我需要事先知道哪些事情以及我应该按什么顺序去做?有参考资料,例如链接,书籍吗?


1
这些前辈有时间向您介绍他们到目前为止所做的事情吗?

@ThorbjørnRavn Andersen:如果我提出疑问,他会向我解释。但问题是代码相当大(〜10000行)。因此,如果我必须做任何事情,就必须遍历许多源文件和许多代码行,我想这不能要求他们完整地解释我。基本上,我对JPA和Spring Framework以及一般的J2EE并不熟悉。因此,我一直在寻找可以帮助我理解整个过程的工作原理和基础知识的东西,以便至少不要问一些愚蠢的疑问。
Bhushan

Answers:


7

每当我想学习一种新的框架/语言时,我通常都会制定一个使用它的小型项目。对于Web框架,我有一个使用它编写的通用Web应用程序。它很简单并且不能做很多事情,但是它具有足够的功能,我需要利用框架的更常见部分(数据库,后台作业,mvc或类似的东西)。实际上,不久前我承担了学习Spring / MVC + Hibernate的任务。我当然不知道全部,但是它给了我足够的背景知识,当我不知道什么时,我知道要问什么问题以及如何问他们以获取更多信息。

对于Web框架,我通常从为大多数框架提供的简单“ hello world”示例开始。如果有一个“ guestbook”示例(即显示数据库使用情况),我将继续进行下去。从那里开始,我从最简单的开始就开始在学习应用程序中添加所需的功能。我的想法是,我可以弄清楚如何针对简单的问题提出正确的问题。在完成一些简单的事情之后,我可以查看更复杂的事情,并利用已经学到的信息,我希望可以提出正确的问题来提出要求。

如果您有兴趣,我最近开始将用于此类学习项目代码放在sourceforge上

编辑:Donal的评论使我们想要添加...我没有将链接作为示例供您学习。而是作为我将代码放在那里的一个示例。如果您想真正学习,则需要自己编写代码,而不仅仅是阅读别人的代码(至少在我看来)


+1:我所做的事情基本相同,只是我几乎从不分享自己需要通过中学而不仅仅是复制的理由,并且我假设其他人都是一样的。(OTOH,我的其中一个实验偶尔会逃到野外并演变为真正的产品。)
Donal Fellows

老实说,我开始共享的原因有三个:1)这样我的代码可以放在我拥有的本地svn存储库之外的地方; 2)这样,当人们要求使用特定技术的我的代码示例时,我可以将它们链接到它(以前我没有这样的代码来显示它们),3)当人们问我有关如何做某事的问题并且我做到了时,我可以使他们更容易
看到

+1。那真是个好主意。但这并不能完全回答我的问题。即使这样做,我也必须从某个地方开始,但是我不知道从哪里开始。随机扫描任何主题都无济于事。
虎山

1
添加了关于如何专门在Web框架上学习的简要说明;我走的路。不幸的是,那是我现在能提供的最好的。希望如果还不够,其他人可以提供一个更适合您情况的答案。
RHSeeger 2011年

2

不久前,我处于非常相似的境地。大致回顾一下,我发现了最有用的方法来快速学习新技术的基础知识:

一般的做法:

  1. 找出解决的问题。阅读各种资源,例如项目的主页,维基百科文章。
  2. 找到一个包含上述问题的小项目。例如,您可以使用一个小型Web应用程序管理您的DVD收藏,并可以将其借给朋友。
  3. 开始考虑您希望该技术提供哪些机制。例如,对于ORM解决方案,一种用于指定关系是1:n还是的机制n:n
  4. 在您的技术中搜索这些机制:例如,在JPA中,找到@OneToMany注释。通常,您可以在这里通过入门指南或高级开发人员的代码进行工作。
  5. 使用这些机制来实现您的小型项目。这样做时,您会发现局限性以及其他一些功能。例如,在JPA中,N + 1选择问题或一项功能,使您可以为Java类自动删除和(重新)创建表
  6. (如果您有时间的话):尝试了解如何实现这些机制。这样做可以帮助您了解为什么存在某些限制以及如何解决这些限制。

关于入门指南的一个注意事项:不要在第4步之前阅读它们。如果您仍然这样做,那么如果您正在学习非常强大的框架(如Spring)及其所有高级功能,这将给您带来痛苦。与生活中的往常一样,您的工具越强大,如果您不真正了解它,就越容易搞砸。


-1

我推荐Head First Servlets和JSP。这是学习Enterprise Java的绝佳资源。

本书是为有兴趣通过Sun认证的Web组件开发人员(SCWCD)考试的开发人员编写的。此后,Sun已被Oracle收购,并且该考试已被替换。在此处可以找到更多信息。


JSP是否已经过时了?对于大量使用AJAX的“ Web 2.0”应用程序,它们几乎没有用。
凯文·克莱恩

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.