tapestry 和 spring 的合并,修改hivemodule.xml如下:
xml 代码
-
- <contribution configuration-id="tapestry.url.ServiceEncoders">
- <direct-service-encoder id="direct" stateless-extension="direct" stateful-extension="sdirect"/>
- <page-service-encoder id="page" extension="html" service="page"/>
- <page-service-encoder id="external" extension="external" service="external"/>
- <asset-encoder id="asset" path="/assets"/>
- <extension-encoder id="ext" extension="svc" after="*"/>
- <!---->contribution>
-
-
- <service-point id="SpringApplicationInitializer"
- interface="org.apache.tapestry.services.ApplicationInitializer"
- visibility="private">
- <invoke-factory>
- <construct class="com.javaforge.tapestry.spring.SpringApplicationInitializer">
- <set-object property="beanFactoryHolder"
- value="service:hivemind.lib.DefaultSpringBeanFactoryHolder" />
- <!---->construct>
- <!---->invoke-factory>
- <!---->service-point>
-
-
- <contribution configuration-id="tapestry.init.ApplicationInitializers">
- <command id="spring-context" object="service:SpringApplicationInitializer" />
- <!---->contribution>
即可通过下面方式进行调用。
java 代码
- @InjectObject("spring:pointsDao")
- public abstract IPointsDao getPointsDao();
还有一种方法:
java 代码
- import javax.servlet.ServletContext;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.springframework.context.ApplicationContext;
- import org.springframework.web.context.support.WebApplicationContextUtils;
-
- public class ServiceLocator {
- private Log logger = LogFactory.getLog(this.getClass());
- private ServletContext context = null;
- private ApplicationContext appContext;
- private static ServiceLocator instance = null;
-
- public ServiceLocator(ServletContext servletContext) {
- context = servletContext;
- appContext = WebApplicationContextUtils.getRequiredWebApplicationContext(getContext());
- logger.info("Spring Service locator bean initialize ...");
- }
-
- public Object lookupService(String serviceBeanName) {
- return appContext.getBean(serviceBeanName);
- }
-
- public static synchronized ServiceLocator getInstance(ServletContext servletContext) {
- if (instance == null)
- instance = new ServiceLocator(servletContext);
- return instance;
- }
-
- public static synchronized ServiceLocator getInstance() {
- return instance;
- }
-
- public ServletContext getContext() {
- return context;
- }
- }
java 代码
- import javax.servlet.ServletException;
- import org.springframework.web.context.ContextLoaderServlet;
-
- public class ContextLoaderServletImpl extends ContextLoaderServlet {
-
- private static final long serialVersionUID = 1L;
-
- public void init() throws ServletException {
- super.init();
- ServiceLocator.getInstance(getServletContext());
- }
- }
在web.xml中添加如下代码
xml 代码
-
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationContext-*.xml</param-value>
- </context-param>
- <servlet>
- <servlet-name>SpringContextServlet</servlet-name>
- <servlet-class>cn.com.polchina.auction.tapestry.ContextLoaderServletImpl</servlet-class>
- <load-on-startup>2</load-on-startup>
- </servlet>
如下调用即可:
java 代码
- ITest it = (ITest) ServiceLocator.getInstance().lookupService("testBean");
分享到:
相关推荐
Tapestry5.1+Spring2.5.6+Hibernate3.2.5写得简单CURD的程序,借鉴了SpringSide3.1.4.2的配置及数据层。实现了添加,列表,修改,删除,显示等操作。内有源码及生成的WAR文件。可以直接使用!
【标题】"Tapestry+Hibernate+Spring 整合应用示例" 【正文】 Tapestry、Hibernate 和 Spring 是三个在 Java Web 开发中非常关键的开源框架,它们各自在应用程序的不同层面上发挥着重要作用。Tapestry 是一个基于...
Tapestry4、Spring 和 Hibernate 是三个在Java Web开发中至关重要的框架。Tapestry4 是一个MVC(Model-View-Controller)框架,提供了一种声明式编程模型,使得开发者可以更专注于业务逻辑,而不是页面的组装。...
整合Tapestry、Spring和Hibernate,开发者可以利用它们各自的优点:Tapestry的组件化开发、Spring的依赖管理和事务控制,以及Hibernate的ORM能力。这样的组合可以构建出结构清晰、易于维护且具有高度可扩展性的Web...
### Tapestry5 + Spring + Hibernate 开发指南 #### I. 引言 本文档旨在为初学者提供一个基于 Tapestry5、Spring 和 Hibernate 构建 Web 应用的基础指南。项目将通过一个简单的登录页面来展示如何整合这些技术。本...
标题 "Groovy+Tapestry5+Spring2.5+Hibernate3.2实现CRUD" 涉及到的是一个使用几种技术栈构建Web应用程序的示例。这个项目结合了Groovy、Tapestry 5、Spring 2.5和Hibernate 3.2,旨在展示如何在实际开发中进行数据...
### 基于Tapestry+Spring+Hibernate框架的Web应用 #### 框架概述与整合 在当今的企业级Web应用开发中,选择合适的框架是确保应用性能、可维护性和扩展性的关键。Tapestry、Spring和Hibernate作为三个广受好评的...
这是Tapestry5.3.8 版本的一个大Demo,集合Spring4.0, 采用Maven 项目管理工具,没有集合Hibernate。 之所以说是个大Demo,是因为这项目中包含的内容并不少,包含: 1)解决了Tapestry5.3.8中文Bug问题 2)Tapestry...
在整合Tapestry和Spring框架时,主要的目标是利用Spring的依赖注入能力为Tapestry应用提供服务。在早期版本的Tapestry中,我们通常会扩展BaseEngine类来引用Spring Bean。但在Tapestry 4及更高版本中,BaseEngine类...
在IT行业中,开发高效、可维护的Web应用程序是至关重要的,而Tapestry、Hibernate和Spring框架的结合使用,能够帮助我们实现这一目标。本文将深入探讨如何在实际项目中运用这三个技术,以及它们如何协同工作,以实现...
本系统采用的关键技术是Struts2+Hibernate+Spring整合和AJAX。之所以采用SSH整合是因为在软件工程领域,为了降低模块耦合度,提高模块的可重用性,分层一直是广为采纳的一个方法。其实分层还可以使开发人员专注于某...
综上所述,本文详述了基于Struts2、Hibernate3.2和Spring2.0的集成项目搭建过程,从理论框架到实践操作,覆盖了企业级应用开发的核心要素。通过遵循上述步骤,开发者不仅能够掌握三大框架的基本配置和使用,还能深入...
在本教程中,"Tapestry5First project with Tapestry5, Spring and Hibernate"将教你如何将这三个强大的框架整合到一个项目中。Tapestry5作为前端MVC框架,处理用户界面和交互;Spring则提供服务层和依赖注入,管理...
此外,Spring 还支持 JDBC、ORM 框架(如 Hibernate 和 MyBatis)以及 MVC 框架,为 Web 开发提供了一站式解决方案。 **Tapestry 与 Spring 的集成** Tapestry 和 Spring 的集成主要体现在以下几个方面: 1. **...
【Tapestry4开发指南】 Tapestry4是一款基于Java的Web应用框架,它的前身是Tapestry3.1。该框架的创始人Howard不仅开发了Tapestry,还同时创建了轻量级的Hivemind框架。Tapestry3.1在设计初期即在Hivemind框架下...
3. **组件化开发:** Tapestry采用组件化的开发模式,每个组件负责一部分UI逻辑,简化了复杂应用的开发和维护。 #### 二、搭建Tapestry 5.1 开发环境 1. **安装JDK (Java Development Kit):** - 必须选择版本高于...
《Tapestry 4开发指南》是一本专为初学者设计的书籍,旨在帮助读者深入理解和熟练运用Tapestry 4这一强大的Java Web框架。Tapestry 4是一款开源的、基于组件的Web应用程序框架,它允许开发者用更加面向对象的方式来...
Tapestry5.1 + EJB3.0实现的登录实例。 采用MYSQL数据和JBOSS4.2服务器。 项目可以直接部署。 内附操作手册。MYsql驱动 和MYSQL配置文件。 项目直接部署即可运行…… 感谢大家都支持。希望能够对跟我一样的初学者...