`
chinajavawolf
  • 浏览: 115116 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

(A17)Tapestry Core :Aliases

阅读更多

本文翻译出处 http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html

本人翻译目的是用来学习Tapestry5的,共享出来希望大家批评指正。计划持续翻译。

chinajavawolf

 

导言
Tapestry用尽一切手段以便你可以使用Inject标注在一个字段域上而无需提供额外数据,但仍然能正确提供对象和服务。
在很多情况里,Tapestry必需提供一个相配的字段域类型给可用的IoC服务。
如果只有一个单独的服务注册为可执行的服务,Tapestry将利用这个服务。
当有不只一个服务的时候,必须消除歧义确定是哪个服务被注册。为了要消除所有的歧义(所有注入的),你必须从服务接口创建一个别名指向特殊的服务。
这里采取提供别名服务的形式。
别名服务有另外的意图:首先,他允许基于应用模式现场替换注入服务。当前,只有”servlet”模式,但以后将包括"portlet"和可能的"offline"模式
其次,共事的AliasOverrides服务配置允许现场替换特殊的服务,没有其余注册在IoC内的网络服务的烦扰。
贡献的别名
要为别名服务贡献一个新的服务,你必须首先确定一个逻辑名。通常,这是个被服务实现了的服务接口名。
然后你可以向基础服务贡献配置
  1. public static void contributeAlias(@InjectService("MyService") MyService myService,   
  2.      Configuration<aliascontribution></aliascontribution> configuration)   
  3.  {   
  4.      configuration.add(new AliasContribution.create(MyService.class, myService));   
  5.  }   
 
上面的例子是一个典型的模式;服务被公开注入到贡献者(contributor)方法,使用外在的InjectService标注。一个贡献(contribution)成为提供的服务类型。
注意contribution不能有服务。你仅仅可以在contribution方法内实例化一个对象,并且贡献他。
贡献AliasOverrides
要替换一个服务,你需要知道服务接口的名字。
随后你可以提供一个contribution AliasOverrides服务配置,就像前面例子中描述的。
作为代理提供的对象将掩饰默认的contribution
分享到:
评论

相关推荐

    关于Tapestry的一些个人总结

    Tapestry简述: Tapestry是一个servle的扩展,它运行于servlet容器(Tomcat)或包含servlet容器的服务器(如Jboss) 通过使用Tapestry,开发者完全不需要使用JSP技术,用户只需要使用Tapestry提供的模板技术即可, ...

    深入浅出Tapestry

    资源名称:深入浅出Tapestry内容简介:本书以循序渐进的方式,从Tapestry框架技术的基本概念入手,讲解Tapestry框架在J2EE Web应用程序中的整体架构实现。使读者在学习如何使用Tapestry框架技术的同时,还能够获得在...

    tapestry-cometd:基于 CometD 的 Tapestry5 推送库

    基于库 特征: 无需编写一行 Javascript 即可创建推送应用程序 完全可配置 使用设置传入消息的... xmlns : p = " tapestry:parameter " &gt; &lt;!-- type a chat message in this form --&gt; &lt; form t :

    tapestry-react:Apache Tapestry和React的集成

    挂毯React 将React( )与Tapestry( )一起使用。 该库提供了将Tapestry与JSX模板结合... define ( [ 't5/core/dom' , 'react' , 'react-dom' ] , function ( dom , React , ReactDOM ) { var HelloMessage = React

    tapestry-5:Apache Tapestry 5的镜像

    Tapestry是一个面向组件的Java Web应用程序框架,专注于性能和开发人员的生产力。 组件只是页面的可重用部分。 创建自己的组件非常容易,Tapestry附带了许多可以使用的组件(窗体,循环,选择,复选框,网格,...

    (Tapestry)An infrastructure for Fault-Tolerant Wide-area Location and Routing.ppt

    (Tapestry)An infrastructure for Fault-Tolerant Wide-area Location and Routing.

    tapestry教程资料文档合集

    Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...

    tapestry5以上的帮助事例,帮助文档与spring衔接文档

    Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(Operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象...

    tapestry官方中文文档

    Tapestry 4 官方文档中文版本,现在中文资料比较少,和大家共享一下

    tapestry:验证和编辑小型真核基因组装配体

    挂毯Tapestry是一种使用长序列阅读来验证和编辑小型真核基因组装配体的工具。 它旨在帮助识别接近完整的基因组装配体中的完整染色体,共生体,单倍型,复杂特征和错误。 在上有预印本。 它已被用来验证染色体。 ...

    tapestry 5.1.0.5 官方组件文档 天涯浪子

    来自:http://tapestry.apache.org/tapestry5.1/tapestry-core/ref

    tapestry-src-5.1.0.5.zip

    包含: tapestry 的源代码, tapestry集成spring2.0 tapestry快速启动 tapestry upload tapestry hibernate tapestry annotations

    Tapestry5.0.16_API文档

    Tapestry5.0.16文档和大家一起学习

    Maven + Tapestry5.3.8 + Spring4.0.5 + Oracle10g

    这是Tapestry5.3.8 版本的一个大Demo,集合Spring4.0, 采用Maven 项目管理工具,没有集合Hibernate。 之所以说是个大Demo,是因为这项目中包含的内容并不少,包含: 1)解决了Tapestry5.3.8中文Bug问题 2)Tapestry...

    tapestry 实例

    tapestry 实例tapestry 实例tapestry 实例tapestry 实例

    深入浅出tapestry

    本书以循序渐进的方式,从Tapestry框架技术的基本概念入手,讲解Tapestry框架在J2EE Web应用程序中的整体架构实现。使读者在学习如何使用Tapestry框架技术的同时,还能够获得在J2EE Web应用程序中应用Tapestry框架的...

    tapestry3开发指南,带tapestry3所有jar包

    tapestry3开发指南,带tapestry3所有jar包

    Tapestry4开发指南

    Tapestry4的雏形是Tapestry3.1,Tapestry的作者Howard,不光开发了Tapestry,还同时开发了一个轻量级框架Hivemind。所以Tapestry3.1的开发一开始就处于Hivemind框架之下。后来由于种种原因,Howard没有将Tapestry3.1...

    Tapestry4.1.2 入门-介绍

    不必关心链接!不必关心请求(http request)到了哪里!...Tapestry构建于底层的request-resonse模式,基于Servlet技术,抽象出面向组件开发的模型。Tapestry关心的是:页面、组件、事件、对象、方法、属性!

    Tapestry4.1.2入门-介绍

    Tapestry 不必关心链接!不必关心请求(http request)到了哪里!不必关心响应(http response)要转向哪里!Tapestry构建于底层的request-resonse模式,基于Servlet技术,抽象出面向组件开发的模型。Tapestry关心的是:...

Global site tag (gtag.js) - Google Analytics