![]() |
1
9
这是一个很难回答的问题,最近在你的情况下,我将尝试给出一些见解。基本上,对于Java,框架有很多选择,没有人能真正告诉你哪一个最适合你,我们能做的就是给你一些技术的分解。 以下是我在寻找你想要的相同答案时遇到的问题。 Java有一堆技术试图提供一个完整的堆栈解决方案。这些技术可以分解为其他技术,但是当您一起使用它们时,它们会很好地工作。 基本上,Web应用程序有三层,即表示层、业务层和数据层。表示层是前端,用户可以看到。您通常可以为这三个层混合和匹配技术。例如,您可以使用一个带有用于IOC和Hibernate的Spring框架的条纹前端作为ORM。 有许多伟大的技术可以用于表示层,包括SpringMVC、Struts、Stripes、Wicket、JSF/Seam和Tapestry等。大多数使用JSPL的视图使用JSP,除了WIKET之外,实际上通过使用Java“组件”(POJOS)将HTML与逻辑完全分离。这两种方法都有好处和缺点。Wicket方法的好处在于,您有静态的类型检查和HTML的完全分离,因此您可以将其交给您的设计师。 对于业务层,人们通常使用某种类型的反向控制框架(IOC)进行依赖注入(DI)。IOC流行的框架是Spring和Seam,它们具有相关的技术,如Spring安全性,通常由其他技术支持。对于直接的DI框架,GoogleGuice似乎很受欢迎。 最后,对于数据层,大多数人倾向于使用Hibernate或JPA。还有其他人,但我没有他们的经验,不能提供更多的信息。 Tapestry是另一个框架,它试图从我所理解的内容中获得完整的堆栈,并采用类似于Wicket(或者我猜Wicket采用类似Tapestry)的方法。Grails是另一个使用groovy的全栈框架,构建在Spring和Hibernate之上。如果你喜欢轨道,颗粒是相当好的。 这些技术中的大多数都有大量可用信息和非常活跃的邮件列表/IRC聊天室。你需要做的是看看他们,然后决定哪种方法是适合你的。这里没有人能告诉你你想要什么。 如果您需要推荐,我希望有一天使用wicket/guice/hibernate堆栈。 |
![]() |
2
3
我最喜欢的是春天。新的SpringMVC2.5设置起来既简单又快捷,有很多注释可以帮助您声明性地连接控制器,这节省了您大量的输入。它还集成了弹簧容器,这绝对是我最喜欢的轻型J2EE替换容器。我通常将SpringMVC与简单的JSP结合在一起,但是还有很多其他视图技术可供选择。为了坚持,我通常使用休眠。也许值得一看 Spring ROO 这有点像没有groovy的圣杯。SpringSecurity提供了一种很好且简单的声明性安全方法,并集成到一系列认证技术中。 Maven和Ant都是构建工具,而Maven也为您处理依赖关系。您“只是”设置描述您想要的库和版本需求的描述符,Maven将为您下载所有库及其依赖项。但是,它强制您遵循特定的项目布局。对于蚂蚁来说,有常春藤可以依赖。 |
![]() |
3
2
|
![]() |
4
2
一定要使用Spring作为后端;他们的免费支持论坛上有一个优秀的社区(您还可以支付更多的正式支持)。 关于您使用Hibernate的决定,您可能希望对JPA进行编码,以便将您的应用程序与Hibernate分离(这是几个JPA实现之一)。 如果您想要一个Ajax前端,那么值得一看 ZK 框架;它非常容易使用而不必学习JavaScript,并且避免使用像DWR这样的管道库。 |
![]() |
5
1
别人建议用弹簧是个好主意。你会发现你实际上会同时使用许多不同的框架,因为每个框架解决了一个稍微不同的问题。 我建议您在投入使用之前对每个框架或技术投入一些时间,但是您最终会希望让它们一起工作。例如,您可能需要Struts+Spring+Hibernate设置。配置它们可能是一个头疼的问题。 所以我建议你用 AppFuse 这有助于生成具有基本功能的基本应用程序。它节省了大量的时间。当然,您需要了解为您配置的不同框架,因此这不是一个神奇的解决方案。 |