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

(D1)Tapestry-Spring Integration

阅读更多
本人翻译目的是用来学习Tapestry5的,共享出来希望大家批评指正。计划持续翻译。
chinajavawolf  
Tapestry/Spring 集成
 
提供TapestrySpring的集成,允许通过Spring定义的beans被注入在Tapestry IoC服务内,并且在Tapestry组件内。
 
版本
 
这个模块这对Spring1.2.8进行的编译和测试。然而,Spring2.0完全向后兼容Spring1.2.8。
 
这个模块使用Maven空间“提供”Spring的依赖。这意味着在你的POM内,你将需要指定你自己的依赖给Spring。包括正确的版本。例如:
 
  1. <dependency>  
  2.  <groupId>org.springframework</groupId>  
  3.  <artifactId>spring-web</artifactId>  
  4.  <version>1.2.8</version>  
  5. </dependency>  
  6.    
使用默认的Maven空间,Spring JARs和依赖将被打包到你的应用的WAR文件内。
 
用法
 
这个集成被设计为一个非常薄的层,在Spring为web应用的标准配置之上。
 
详细的用法在可用的Spring 1.2.x文档内。
 
  •  web.xml 改变
 
简单的形势是你必须做两个小的改变对你应用的web.xml。
 
首先,一个特定的过滤器被用来替换标准的TapestryFilter。
  1. <filter>  
  2.    <filter-name>app</filter-name>  
  3.    <!-- Special filter that adds in a T5 IoC module derived from the Spring WebApplicationContext. -->  
  4.    <filter-class>org.apache.tapestry.spring.TapestrySpringFilter</filter-class>  
  5. </filter>  
 
其次,你必须添加标准的Spring配置,其中包括< listener >元素和(可选的)<context-param>确定加载哪个Spring bean配置文件:
 
  1. <context-param>  
  2.  <param-name>contextConfigLocation</param-name>  
  3.  <param-value>/WEB-INF/daoContext.xml /WEB-INF/applicationContext.xml</param-value>  
  4. </context-param>  
  5.     
  6. <listener>  
  7.  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  8. </listener>  
 
<context-param>列出Spring bean配置文件。它是可选的并且默认的,如果仅是/WEB-INF/applicationContext.xml 可以省略。
 
ContextLoaderListener负责读配置文件的bean并且存储他们在application context内,Tapestry-Spring集成代码在那里使用它。
 
  • 注入beans
在你的组件类内,你可以使用Inject标注。典型的,仅是字段域类型充分确定Spring bean 的注入:
  1. @Inject  
  2. private UserDAO _userDAO;  
 
如果你有多个bean实现同一接口(对于实例,如果你已经包裹你的bean使用你的事务拦截器),你必须消除歧义。最简单的方法是添加一个Service标注来确定Spring bean的名字:
  1. @Inject  
  2. @Service("UserDAO")   
  3. private UserDAO _userDAO;  
 
通过构建器方法或自动构建注入Spring bean是一样的:Spring beans完全就像Tapestry IoC的服务一样。
 
语法灵敏性
 
Spring bean 名字被完全加工成Tapestry IoC服务的ids。因为服务ids忽略大小写,通过bean名字访问Spring bean 也将忽略大小写。
 
WebApplicationContext 服务
 
Spring WebApplicationContext 也被作为一个服务添加,除了定义在context内的服务外。
 
局限性
 
Bean的名字在应用启动时被获得。如果新的beans是在运行时加入Spring application context内的,这对于注入是不可见的。
 
只有bean的名字是可用的,不是任何bean的别名。
 
当有两个只是名字大小写不同的bean时,不检查名字冲突将发生。如果你继续提供名称为
"userDAO" 和"UserDao"的bean ,你只会自找麻烦。
 
非单例beans没有完全控制。Tapestry将从application context请求bean在某种意义上这不相称他们的生命周期。目前,你应该考虑非单例bean为非可注入的。代替的,注入WebApplicationContext服务然后获得非单例beans作为必须的。
分享到:
评论

相关推荐

    tapestry-bin-5.1.0.5

    6. **tapestry-spring-LICENSE.txt**:Tapestry与Spring框架集成的许可,Spring是一个广泛应用的Java企业级应用框架,可以与Tapestry结合使用,提供更全面的应用服务。 7. **tapestry-core-NOTICE.txt**:除了许可...

    tapestry-spring-5.2.6.jar

    tapestry-spring-5.2.6.jar,java spring框架依赖,可以直接使用

    tapestry-project-4.1.5

    在"tapestry-project-4.1.5"这个压缩包中,我们有机会深入探索 Tapestry 4.1.5 版本的特性和应用。 首先,让我们关注"Tapestry-libraries"这个文件夹。它包含了Tapestry 框架运行所需的各种库文件,这些库文件是...

    tapestry-bin-5.0.14.zip

    - “tapestry-spring”模块则将Tapestry与Spring框架整合,让开发者可以利用Spring的强大功能,如AOP、数据访问和事务管理等。 通过这些组件,开发者可以快速构建复杂的Web应用,同时保持代码的清晰性和可维护性。...

    优化大使tapestry-bin-5.0.18.zip

    这个压缩包包含了多个以"Tapestry"开头的子文件,如 "tapestry-core", "tapestry-hibernate", "tapestry-ioc", "tapestry-upload", 和 "tapestry-spring",这些都是Tapestry框架的不同模块或插件。这些文件的后缀是...

    apache-tapestry-5.3.7-bin.zip

    `tapestry-jpa-5.3.7.jar`和`tapestry-hibernate-5.3.7.jar`则与持久层集成有关,它们支持JPA(Java Persistence API)和Hibernate ORM框架,使开发者能够轻松地在Tapestry应用中处理数据库操作。 总的来说,Apache...

    apache-tapestry-5.3.8-bin.zip

    `apache-tapestry-5.3.8-bin.zip` 是Apache Tapestry 5.3.8版本的二进制发行包,包含了运行和开发Tapestry应用所需的各种库文件。 1. **Tapestry框架**:Tapestry是由Howard Lewis Ship创建的一个MVC(Model-View-...

    tapestry-4.0.zip

    这个“tapestry-4.0.zip”压缩包包含了Tapestry框架的4.0版本,这是一个相对较早的但非常稳定的基础,对于初学者来说是个很好的学习起点。在Tapestry 4.0中,我们可以探索许多关于Web应用开发的核心概念和技术。 ...

    tapestry-ioc-5.0.3-src

    在"tapestry-ioc-5.0.3-src"这个压缩包中,我们可能找到Tapestry IOC框架的源代码,这对于开发者深入理解其工作原理和定制功能非常有价值。 1. **依赖注入(DI)**:Tapestry IOC的核心概念就是DI,它允许对象在...

    gaedo-tapestry-0.4.6.jar

    gaedo-tapestry-0.4.6.jar

    gaedo-tapestry-0.4.5.jar

    gaedo-tapestry-0.4.5.jar

    gaedo-tapestry-0.4.4.jar

    gaedo-tapestry-0.4.4.jar

    gaedo-tapestry-0.4.9.jar

    gaedo-tapestry-0.4.9.jar

    gaedo-tapestry-0.4.3.jar

    gaedo-tapestry-0.4.3.jar

    gaedo-tapestry-0.4.15.jar

    gaedo-tapestry-0.4.15.jar

    gaedo-tapestry-0.4.8.jar

    gaedo-tapestry-0.4.8.jar

    apache-tapestry-5.3.7

    包含的`apache-tapestry-5.3.7-javadocs.zip`文件提供了完整的API文档,对于开发者来说,这是一个宝贵的资源,可以帮助理解框架的各个部分以及如何使用它们。`apache-tapestry-5.3.7-sources.zip`则包含了源代码,...

    chenillekit-tapestry-1.3.2.jar

    chenillekit-tapestry-1.3.2.jar

    tapestry-src-5.1.0.5.zip

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

    tapestry-4.0.2

    《深入解析 Tapestry 4.0.2:Web 应用程序开发框架的里程碑》 Tapestry 4.0.2 是一个历史悠久且功能强大的Java Web应用程序开发框架,它在2000年代中期引领了Web应用开发的潮流。这款框架以其组件化、事件驱动的...

Global site tag (gtag.js) - Google Analytics