`
ihuashao
  • 浏览: 4549168 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

当Spring遇到Ruby

阅读更多
作者:江南白衣

当王家卫遇到杜可风,Spring遇到Ruby。想出这个题目的Crraig Walls 绝对也是个八卦种子,宣传的是Spring 2.集成动态语言的feature。

此Feature目的是让动态语言编写的类,可以良好的融入java/spring的大框架内,洗白成application context中的普通一员,拥有与其他pojo良好的交互与注入能力,可以被DWR,XFire,Quartz导出成各式服务。

很简单,SpringSide 里的\springside-bookstore\src\...\plugins\webservice\applicationContext-webservice-client.xml文件已说明了一切用法。
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:lang
="http://www.springframework.org/schema/lang"
xsi:schemaLocation
="
http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/langhttp://www.springframework.org/schema/lang/spring-lang.xsd"
>

<!--Groovy版本的WebServiceClient-->
<lang:groovyid="BookServiceClient"
refresh-check-delay
="60000"
script-source
="classpath:org/springside/bookstore/plugins/webservice/service/BookServiceClient.groovy">
<lang:propertyname="serviceUrl"value="http://localhost:8080/springside/service/BookService"/>
</lang:groovy>
</beans>

注意spring 2.0为语言集成提供了<lang:language>的简写法,详细见Spring的参考文档第24章

第一个属性 refresh-check-delay,每隔一段时间扫描一次脚本的变化,reload it。

第二个属性script-source 指向scriptsouce, <lang:property>演绎了Spring最喜爱的IOC,将serviceUr变量注入。

当然,世上没有奇迹,Spring 与Groovy、JRuby 是靠一个Interface来定义连接点的。Spring使用BookServiceClient Bean 时,实际使用的是BookService接口。Groovy因为是Java近亲,所以可以在类里面直接implements BookService接口,而JRuby则必须把interface作为构造参数传给RubyScriptFactory。这样有个不爽的地方,在Groovy里必须显式定义接口的所有函数和参数、返回值的类型。Ruby的Miss Method与Groovy的MOP反射顿时没了用武之地。
舞台已经搭好,界限已经模糊,接下来就和AOP一样,看大家的想象力了。

分享到:
评论

相关推荐

    clicktocall-spring:使用Spring MVC实现的点击呼叫演示应用程序

    单击以致电Spring 我们目前正在更新此样本模板。 如果您在样本中遇到任何问题,请在打开问题,我们将尽力为您提供帮助。 关于 使用Twilio实现“点击通话”的示例应用程序。 其他语言的实现: 。网 Python 节点 ...

    java开发短信验证源码-account-security-quickstart-spring:使用Java和Spring的TwilioAcc

    如果您在使用示例时遇到任何问题,请打开一个问题,我们会尽力帮助您。 关于 网站的简单 Java、Spring 和 AngularJS 实现,该网站使用 Twilio Authy 通过双因素身份验证保护文件夹中的所有资产。 此外,它还显示了...

    2021-cs344.github.io:CS344的网站在2021年Spring的斯坦福

    2016年3月:如果您使用的是旧版本的Jekyll Now,并遇到a)构建警告或b)突出显示由引起的语法问题, :sparkles: :sparkles: 就会被设置!杰基尔现在Jekyll是一个静态站点生成器,非常适合GitHub托管博客( ) 通过...

    secretaria_virtual

    自述文件应用此应用程序旨在解决在组织工作方面遇到困难的自主人的问题先决条件Ruby / Rails / PostgreSQL / Git 安装基本工具的教程设定PLATFORMS rubyDEPENDENCIES byebug capybara coffee-rails (~&gt; 4.2) devise ...

    com1001-code

    此模块的首选开发平台是 ,您将在秋季学期遇到该平台。 Spring的第一堂课将向您展示如何进行所有设置。 该讲座可在上以视频形式获得。 克隆存储库 要克隆存储库,您将需要发出以下命令: git clone ...

    疯狂JAVA:突破程序员基本功的16课 源代码

    目录: 内容简介 ... 国内知名的高端IT技术作家,已出版《Spring2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。

    iuhyiuhkjh908u0980

    最近在部署应用时,遇到一个问题,就是ant脚本登录到linux机器上执行部署命令时,不知如何去写脚本。不知有没有哪位同学做过?以下是我的ant脚本: &lt;project name="taxs_Admin" default="usage"&gt; ...

    java开源包1

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包11

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包2

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包3

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包6

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包5

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包10

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包4

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包8

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包7

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包9

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    java开源包101

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

    Java资源包01

    它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式...

Global site tag (gtag.js) - Google Analytics