快速业务通道

Groovy使Spring更出色,第1部分: 集成的基础知识 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

Groovy使Spring更出色,第1部分: 集成的基础知识

时间:2011-08-27 IBM Scott Leberknight

看看 Groovy 如何增加基于 Spring 的应用程序的灵活性

简介:Spring Framework 为 Web 和企业应用程序提供了坚实的基础。通过支 持 Groovy 等动态语言 ,Spring 添加了一些功能,从而使应用程序架构更加灵活、更具动态性。在包含 2 部分的系列文章 的 第一部分中,您将学习将 Groovy 集成到 Spring 应用程序的基础知识。

Spring 2.0 支持将动态语言集成到基于 Spring 的应用程序中。Spring 开箱 即用地支持 Groovy、 JRuby 和 BeanShell。以 Groovy、JRuby 或任何受支持的语言(当然包括 Java™ 语言)编写的 应用程序部分可以无缝地集成到 Spring 应用程序中。应用程序其他部分的代码 不需要知道或关心单个 Spring bean 的实现语言。

Spring 支持动态语言意味着应用程序可以获 得灵活性和动态性,并 且没有任何附加条件。在本系列的第 1 部分中,您将看到如何将 Spring 和 Groovy 一起使用,以及这 个强大集成如何为应用程序增加有趣的功能。例如,您可能需要频繁地更改小块 的业务逻辑、应用程序 发出的 e-mail 消息中包含的文本、应用程序生成的 PDF 格式和布局等。为了进 行更改,传统的应用程 序架构可能需要完全重新部署应用程序。Spring 支持 Groovy 之后,您可以这样 更改一个已部署的应用 程序,并使这些更改立即生效。我将讨论这一功能为应用程序所带来的好处,以 及可能引发的问题。本 文中所有例子的完整的源代码(参见 下载)都可以下载。

Spring 的动态 语言支持

动态 语言支持将 Spring 从一个以 Java 为中心的应用程序框架改变成一个以 JVM 为 中心的应用程序框架。 现在,Spring 不再只是让 Java 开发变得更容易。它还允许将以静态和动态语言 编写的代码轻松地插入 到 Spring 支持的分层架构方法中,从而使 JVM 的开发也变得更加容易。如果您 已经熟悉 Spring,那 么您会感到很舒服:可以利用 Spring 已经提供的所有特性 — 控制反转( IoC)和依赖项注入、 面向方面编程(AOP)、声明式事务划分、Web 和数据访问框架集成、远程调用等 — 同时又可以 使用灵活动态的语言,比如 Groovy。

Spring 通过 ScriptFactory 和 ScriptSource 接口支持 动态语言集成。ScriptFactory 接口定义用于创建和配置脚本 Spring bean 的机 制。理论上,所有在 JVM 上运行语言都受支持,因此可以选择特定的语言来创建自己的实现。 ScriptSource 定义 Spring 如 何访问实际的脚本源代码;例如,通过文件系统或 URL。Groovy 语言集成通过 ScriptFactory 的 GroovyScriptFactory 实现得到支持。

为什么是 Groovy?

根据官 方的 Groovy 站点, Groovy 是 “用于 Java 虚拟机的一种敏捷的动态语言”,它 “以 Java 的强大功能 为基础,同时又包含由 Python、Ruby 和 Smalltalk 等语言带来的强大附加功能 ”,例如动态类 型转换、闭包和元编程(metaprogramming)支持(参见 参考资料)。它是一种 成熟的面向对象编程语 言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。我喜欢将它看作是 没有讨厌代码,但又具 有闭包和动态语言中的其他特性的 Java 语言。

Groovy 特别适合与 Spring 的动态语言支持一 起使用,因为它是专门为 JVM 设计的,设计时充分考虑了 Java 集成,这使 Groovy 与 Java 代码的互 操作很容易。它的类 Java 语法对于 Java 开发人员来说也很自然。

接下 来,看看如何将 Groovy 代码集成到基于 Spring 的应用程序中。

Groovy使Spring更出色,第1部分: 集成的基础知识(2)

时间:2011-08-27 IBM Scott Leberknight

更巧妙的 Spring bean

在 Spring 应用 程序

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号