开始一个Java项目 - 集成开发环境(IDE),框架等 -

4
我需要协助以加快开发进程。 我收到要求使用Java技术开始开发网站的请求。 我通常使用C# - ADO for Entities - ASP.NET MVC - MSSQL server - Visual Studio进行开发。 最好的选择是: - C# Intellisense. - ORM。 - 完整的用户,角色安全管理。 - 将关注点分离成MVC。
我想知道是否有人能够帮助我确定最佳的Java MVC框架 - DB - IDE,基于以下前提启动项目: - 集成用户和角色的安全性 - MVC
为了更好地描述,为了在每次启动C# ASP.NET MVC 2项目时复制相同的功能,我可以使用示例链接中的NerdDinner图像: http://nerddinnerbook.s3.amazonaws.com/Images/image020.png
5个回答

4
首先让我们讨论IDE、ORM和安全性以及数据库:在我看来,最好的Java IDE是IntelliJ IDEA。它来自同一团队开发Visual Studio的Resharper。它拥有所有Java IDE中最强大的编辑器,并内置支持多种流行的Java框架。
ORM:Java中最强大的ORM库是Hibernate。Hibernate本身是Java Persistence API(JPA)标准的实现。EclipseLink是JPA的另一种实现,但我认为Hibernate更好。
安全性:Spring Security可能是Java世界中最强大的安全(身份验证和授权)框架。
数据库:如果您熟悉SQL Server,请继续使用它。但不要使用Microsoft的JDBC驱动程序。而是使用DataDirect的驱动程序:http://web.datadirect.com/products/jdbc/index.html。如果您不想使用SQL Server,MySQL是一个很棒的FOSS选择,Oracle、DB2等都是其他选项。
对于Web框架,有几个选择:
1. 如果您想要一个RAD风格的框架,请选择Grails。Grails类似于Ruby on Rails,但使用JVM和一种名为Groovy的类似于Java但动态的语言。Grails的ORM API称为GORM,它建立在Hibernate之上,但使用起来更容易。Grails还使用Spring Security来管理安全性。
2. 如果您想要一个企业级框架,请选择JBoss Seam + JavaServer Faces。JSF是一个基于组件的MVC框架,有许多优秀的JSF库可供使用:RichFaces、OpenFaces等。Seam将JSF与EJB集成在一起,它们共同构成了一个伟大的企业级框架。但是它有一个陡峭的学习曲线。
3. 使用Spring + SpringMVC + JPA。
4. 使用Struts 2。
最后的建议:如果您正在寻找一种易于学习的MVC + ORM框架,请使用Struts 2 + JPA。如果您正在寻找一种RAD和易于使用的MVC + ORM框架,请使用Grails。如果您正在寻找一个强大且企业级(但不易于学习)的框架,请使用JBoss Seam。

非常感谢,信息很棒。这正是我在寻找的。 - s_h

2

不仅是Spring MVC,整个Spring生态系统都可以让您少受惊吓地开始运行。 您还可以下载Spring Tool Suite(专为Spring量身定制的预配置版本的Eclipse)以获取一个集成开发环境,该环境了解所有spring相关内容。

但是Spring - Spring MVC - Hibernate - Spring Security和STS似乎可以满足您的需求,并为项目提供坚实的基础,而不会有太多意外。 这使您可以专注于客户和转向Java。

之后,您可能会考虑Java领域中的不同选择,因为有很多其他框架可用并具有其优点。 但在短期内,最好限制移动部件的数量。


谢谢Peter。是的,似乎Spring是开始满足这些需求的最佳选择。我读到IntelliJ支持Spring的智能感知。我会测试一下,谢谢! - s_h
IntelliJ是我最喜欢的IDE,它非常棒。然而,如果你需要Spring的Intellisense功能,你需要购买收费版的Ultimate Edition。Eclipse的Spring插件也非常好,具有类似的智能代码完成功能。 - Peter Tillemans

2
标准的、最常见的框架/ORM设置是Spring/Hibernate。这两个工具不幸地在多年的发展中变得非常复杂,因此它们可能看起来很庞大,但是每个工具的简单设置比从它们各自的站点查看所有选项要容易得多。
最好的建议是按步骤进行基本的Spring/Hibernate设置,然后再进行扩展。曾经我有一个这样的原型项目,我会用它来生成“起始集”以引导项目。
顺便说一句,我还建议使用简单的Ant构建脚本。有些人可能会建议使用Maven,但它太过庞大和复杂(在我看来),你已经有足够的新工具要理解,所以最好避免学习另一个庞大的命令集。

谢谢你,史蒂夫。这就是为什么我在Stack上请求这些信息的原因……我整晚都在网上阅读,但似乎Java的世界在可能的解决方案、IDE和方法方面非常广泛。我对该从哪个解决方案开始感到困惑。谢谢。 - s_h

2
欢迎来到Java世界。Java领域最好的一点(在某些情况下也是最坏的一点)是,您可以根据自己的要求创建自己的堆栈。与.NET领域通常情况下只能使用单个供应商不同,您并不一定受到限制。
既然看起来您处于一个全新的情况中,您可以:
  • 采用大型商业供应商(如Sun/Oracle(JSF/EJB3 + NetBeans/JDeveloper + Glassfish/Weblogic + MySQL/Oracle)或IBM)的Web开发堆栈

  • 采用较小的开源供应商(如JBoss、SpringSource)的Web开发堆栈。看看JBoss的Seam和SpringSource的GrailsRoo(后两者基于经常提到的Spring/Hibernate框架)

  • 根据上述内容和您的要求混合匹配自己的堆栈。虽然这需要深入了解各种技术、框架和工具。

你有许多选择,如你所见。现在既然你对以生产力为重点的堆栈感兴趣 - 而且我猜测是开源的 - 而且你没有遗留问题,我建议使用GrailsRoo。其中Roo可能是最易于接近的,因为你不必学习Groovy。如果你不喜欢生成工具,我建议你坚持使用Spring堆栈,并采用Spring/JPA等技术。

非常感谢您花时间指导我。这是很棒的信息,我会仔细阅读。我已经了解了Spring,但JBoss和其他相关内容并不在我的掌握范围内。再次感谢! - s_h

0

关于IDE,我认为值得一提的Java IDE只有Eclipse和Netbeans,尤其是它们都是免费的。如果需要可扩展性和易用性,请使用Eclipse;如果需要快速开发GUI,请使用Netbeans。


2
我认为 IDEA 是一个值得推荐的 IDE。只是它不适合我。 - TheLQ
谢谢Rafe,我之前用Netbeans写php,现在会尝试Java。感谢。TheLQ。我了解了一下Intellij,看起来非常强大——特别版。 - s_h

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接