如果羡慕Ruby On Rails可以用动态语言来编码,但又舍不得Spring、Hibernate这些Javaer深以为傲的框架,那么有一种折中的方案:
仍然使用Spring+Hibernate框架,而用Groovy/Jython/JRuby来编写Controller类、Service类、DAO类,并把它们编译成普通的Java Class文件来使用。
BuggyBean的blog里用Jython示范了这种方案。
1.why 动态语言?
现在的动态语言都已经很面向对象,和传统的用来写写外围脚本(测试,安装)的script语言已经不同,而且Groovy,Jython,JRuby写成的类除了动态载入外,都可以编译成静态的Java Class文件,所以已能很好的承担J2EE应用里业务类的角色了。
动态语言有什么好处呢,请参看<Groovy写业务类、框架类的那一吨好处>。
2. 八卦:各种动态语言的Java实现
Groovy ,BeanShell,Jython(Python),JRuby(Ruby),Rhino(JavaScript),
Jacl(TCL),Bistro(SmallTalk),Kawa(Lisp/Schema)
3.哪种动态语言?
Jython总是若断若续,气若游丝的样子,而且现在都才移植到Jython2.1,比Python2.4 慢了几拍,很信不过。
JRuby呢? Dion Almaer在JRuby0.8.2发布时说:"The day JRuby gets up to Jython levels, and then C Ruby levels, will be a great day.",字面上JRuby比Jython还要不靠谱。
Ruby还有一个不好是暂时没有好的IDE(连那个收费的ruby-ide都好弱),如果没有好的IDE,可以抵消掉大部分语言本身的优势,真不能想像Ruby On Rails是用怎么个UltraEdit级的编辑器写出来的。
Groovy的弱势是1.0正式版还没有发行,用户社区还不大。
因为现在选的是Java框架下嵌入哪种动态语言作为业务类。所以Python和Ruby的用户社群和大量的已有项目作用不是很大。而Groovy比起两位舶来品,
1.作为私生子,嵌入性理所当然是最好的,两者的关系暧昧得不得了。
2.另一个天然优势是能兼容Java的语法,把Java代码copy到Groovy几乎不作什么修改(only不支持throws定义语句和Inner Class),团队的学习曲线平滑。
3.因为不是移植项目,语言升级时没有时间差,不用看移植人的脸色。
so,我会选Groovy,等它的正式版出来之后。
分享到:
相关推荐
总结起来,使用Maven在Eclipse中搭建Spring+Spring MVC+Hibernate框架涉及以下步骤: 1. 创建Maven项目,配置`pom.xml`。 2. 配置Spring和Spring MVC的XML配置文件。 3. 设置Hibernate配置,创建实体类。 4. 构建Web...
### Struts+Spring+Hibernate框架搭建 #### 1. SSH整合理念 在现代软件开发中,特别是Java Web应用开发领域,采用多个框架协同工作已成为一种常见的做法。这种做法旨在通过不同框架的优势互补来构建高性能、高灵活...
Spring MVC、Spring 和 Hibernate 是Java Web开发中的三大主流框架,它们各司其职,共同构建了一个强大而灵活的后端架构。Spring MVC 负责处理HTTP请求并将其路由到相应的控制器,Spring 提供了依赖注入(DI)和面向...
在"struts2+spring+hibernate框架购物车"项目中,这三个框架协同工作,实现了功能完善的购物车系统。 首先,Struts2作为表现层框架,负责处理HTTP请求,提供动作调度和视图渲染。它基于Action和Result的概念,用户...
在"spring+hibernate框架demo"中,可能包含以下内容: 1. `.classpath`:Eclipse 或其他 IDE 的配置文件,指定了项目的类路径和库依赖。 2. `.project`:IDE 项目配置文件,包含了项目的构建信息和属性。 3. `bin`:...
在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...
《图书管理系统spring+struts+hibernate》是一款基于Java技术栈开发的图书管理软件,其核心框架包括Spring、Struts和Hibernate。该系统利用MySQL作为数据库存储数据,提供了完整的数据库备份,确保了数据的安全性与...
在本文中,我们将深入探讨一个采用JSP、Spring和Hibernate技术构建的博客系统。这种组合提供了强大的功能,包括后端业务逻辑管理、持久层支持以及用户友好的前端界面。 **JSP (JavaServer Pages)** JSP是Java的一...
标题 "gwt+spring+hibernate" 涉及的是一个使用Google Web Toolkit (GWT)、Spring框架和Hibernate ORM技术的集成示例。这是一个常见的Web应用开发组合,用于构建高效、可扩展且功能丰富的Java web应用程序。下面将...
"Spring+Struts+Hibernate"(SSH)框架是Java Web开发中的经典组合,被誉为"三剑客"。这个框架集合提供了全面的企业级应用解决方案,帮助开发者构建高效、可扩展且易于维护的Web应用程序。 Spring框架是核心,它...
在"springMVC+spring+Hibernate框架搭建,登录功能"的场景下,我们可以创建一个登录Controller,接收用户的用户名和密码。Controller调用服务层的验证方法,该方法可能通过Hibernate的Session查询用户信息,然后进行...
总之,“Struts2+Spring+Hibernate框架技术与项目实战”涵盖了Web开发中的许多核心技能,学习和掌握这一套技术栈,对于提升Java开发者的专业素养和解决实际问题的能力有着显著的帮助。通过不断实践和深入理解,...
总的来说,这个"简单的spring+springMVC+hibernate框架整合"项目是一个基础的学习资源,可以帮助开发者了解如何将这三个流行的Java框架集成在一起,构建一个完整的、具备数据访问和Web功能的应用程序。通过对项目的...
在"Struts2+Spring+Hibernate框架技术与项目实战 源码(中)"这个资料中,我们聚焦于第五篇的内容,这部分涵盖了19到23章的所有光盘代码。这些章节通常会深入讲解如何将这三个框架集成,并通过实际项目进行实战演练。...
**Hibernate框架**: Hibernate是一个对象关系映射(ORM)框架,解决了Java对象与数据库表之间的映射问题。通过Hibernate,开发者可以使用面向对象的方式操作数据库,而无需关心底层SQL语句。Hibernate支持实体类、...
SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...
总的来说,"spring+hibernate框架搭建demo"涉及到的核心知识点包括:Spring 框架的依赖注入、AOP、MVC 以及与 Hibernate 的集成;Hibernate 的对象关系映射、Session 机制和事务管理;以及 Java Web 应用的 MVC 设计...
Struts通过ActionFormBean接收用户在页面上提交的数据,Action类处理这些数据并决定下一步的操作,然后通过配置文件(Struts-config.xml)定义的动作映射转发到相应的JSP页面。这种设计模式使得程序结构清晰,逻辑...
Struts2负责控制层,Spring管理业务逻辑和服务层,而Hibernate则作为持久层框架处理数据库交互。下面将详细阐述这三个框架的主要功能和相互配合的方式。 **Struts2**: Struts2是MVC(Model-View-Controller)设计...
标题中的"idea工具创建的Spring+SpringMVC+Hibernate+maven项目"指的是使用IntelliJ IDEA这个集成开发环境(IDE)构建的一个Java Web项目,该项目整合了四个关键的技术框架:Spring、SpringMVC、Hibernate以及Maven...