`
tigerli
  • 浏览: 101104 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tapestry4+spring2+xfire+hibernate3+proxool 开发过程问题一

    博客分类:
  • JAVA
阅读更多
tapestry 和 spring 的合并,修改hivemodule.xml如下:
xml 代码
 
  1. <!---->   
  2.     <contribution configuration-id="tapestry.url.ServiceEncoders">  
  3.         <direct-service-encoder id="direct" stateless-extension="direct" stateful-extension="sdirect"/>  
  4.         <page-service-encoder id="page" extension="html" service="page"/>  
  5.         <page-service-encoder id="external" extension="external" service="external"/>  
  6.         <asset-encoder id="asset" path="/assets"/>  
  7.         <extension-encoder id="ext" extension="svc" after="*"/>  
  8.     <!---->contribution>  
  9.   
  10.     <!---->  
  11.     <service-point id="SpringApplicationInitializer"  
  12.         interface="org.apache.tapestry.services.ApplicationInitializer"  
  13.         visibility="private">  
  14.         <invoke-factory>  
  15.             <construct class="com.javaforge.tapestry.spring.SpringApplicationInitializer">  
  16.                 <set-object property="beanFactoryHolder"  
  17.                     value="service:hivemind.lib.DefaultSpringBeanFactoryHolder" />  
  18.             <!---->construct>  
  19.         <!---->invoke-factory>  
  20.     <!---->service-point>  
  21.   
  22.     <!---->  
  23.     <contribution configuration-id="tapestry.init.ApplicationInitializers">  
  24.         <command id="spring-context" object="service:SpringApplicationInitializer" />  
  25.     <!---->contribution>  

即可通过下面方式进行调用。
java 代码
 
  1. @InjectObject("spring:pointsDao")    
  2. public abstract IPointsDao getPointsDao();    


还有一种方法:

java 代码
 
  1. import javax.servlet.ServletContext;  
  2. import org.apache.commons.logging.Log;  
  3. import org.apache.commons.logging.LogFactory;  
  4. import org.springframework.context.ApplicationContext;  
  5. import org.springframework.web.context.support.WebApplicationContextUtils;  
  6.   
  7. public class ServiceLocator {  
  8.        private Log logger = LogFactory.getLog(this.getClass());  
  9.        private ServletContext context = null;  
  10.        private ApplicationContext appContext;  
  11.        private static ServiceLocator instance = null;  
  12.   
  13.        public ServiceLocator(ServletContext servletContext) {  
  14.               context = servletContext;  
  15.               appContext = WebApplicationContextUtils.getRequiredWebApplicationContext(getContext());  
  16.               logger.info("Spring Service locator bean initialize ...");  
  17.        }  
  18.   
  19.        public Object lookupService(String serviceBeanName) {  
  20.               return appContext.getBean(serviceBeanName);  
  21.        }  
  22.   
  23.        public static synchronized ServiceLocator getInstance(ServletContext servletContext) {  
  24.               if (instance == null)  
  25.                   instance = new ServiceLocator(servletContext);  
  26.               return instance;  
  27.        }  
  28.   
  29.        public static synchronized ServiceLocator getInstance() {  
  30.               return instance;  
  31.        }  
  32.   
  33.        public ServletContext getContext() {  
  34.               return context;  
  35.        }  
  36. }
java 代码
 
  1. import javax.servlet.ServletException;  
  2. import org.springframework.web.context.ContextLoaderServlet;  
  3.   
  4. public class ContextLoaderServletImpl extends ContextLoaderServlet {  
  5.   
  6.     private static final long serialVersionUID = 1L;  
  7.   
  8.     public void init() throws ServletException {  
  9.         super.init();  
  10.         ServiceLocator.getInstance(getServletContext());  
  11.     }  
  12. }   

在web.xml中添加如下代码
xml 代码
 
  1. <!-- Spring Config -->  
  2. <context-param>  
  3.     <param-name>contextConfigLocation</param-name>  
  4.     <param-value>/WEB-INF/applicationContext-*.xml</param-value>  
  5. </context-param>  
  6. <servlet>  
  7.     <servlet-name>SpringContextServlet</servlet-name>  
  8.     <servlet-class>cn.com.polchina.auction.tapestry.ContextLoaderServletImpl</servlet-class>  
  9.     <load-on-startup>2</load-on-startup>  
  10. </servlet>  

如下调用即可:

java 代码
 
  1. ITest it = (ITest) ServiceLocator.getInstance().lookupService("testBean");  



分享到:
评论

相关推荐

    Tapestry5.1+Spring2.5.6+Hibernate3.2.5写得简单CURD的程序

    Tapestry5.1+Spring2.5.6+Hibernate3.2.5写得简单CURD的程序,借鉴了SpringSide3.1.4.2的配置及数据层。实现了添加,列表,修改,删除,显示等操作。内有源码及生成的WAR文件。可以直接使用!

    Tapestry+Hibernate+spring

    【标题】"Tapestry+Hibernate+Spring 整合应用示例" 【正文】 Tapestry、Hibernate 和 Spring 是三个在 Java Web 开发中非常关键的开源框架,它们各自在应用程序的不同层面上发挥着重要作用。Tapestry 是一个基于...

    tapestry4+spring+hibernate整合实例

    Tapestry4、Spring 和 Hibernate 是三个在Java Web开发中至关重要的框架。Tapestry4 是一个MVC(Model-View-Controller)框架,提供了一种声明式编程模型,使得开发者可以更专注于业务逻辑,而不是页面的组装。...

    tapestry5.3.3+spring+hibernate整合源码

    整合Tapestry、Spring和Hibernate,开发者可以利用它们各自的优点:Tapestry的组件化开发、Spring的依赖管理和事务控制,以及Hibernate的ORM能力。这样的组合可以构建出结构清晰、易于维护且具有高度可扩展性的Web...

    Tapestry5 + spring + hibernate 开发指南

    ### Tapestry5 + Spring + Hibernate 开发指南 #### I. 引言 本文档旨在为初学者提供一个基于 Tapestry5、Spring 和 Hibernate 构建 Web 应用的基础指南。项目将通过一个简单的登录页面来展示如何整合这些技术。本...

    Groovy+Tapestry5+Spring2.5+Hibernate3.2实现CRUD

    标题 "Groovy+Tapestry5+Spring2.5+Hibernate3.2实现CRUD" 涉及到的是一个使用几种技术栈构建Web应用程序的示例。这个项目结合了Groovy、Tapestry 5、Spring 2.5和Hibernate 3.2,旨在展示如何在实际开发中进行数据...

    基于Tapestry+Spring+Hibernate框架的Web应用

    ### 基于Tapestry+Spring+Hibernate框架的Web应用 #### 框架概述与整合 在当今的企业级Web应用开发中,选择合适的框架是确保应用性能、可维护性和扩展性的关键。Tapestry、Spring和Hibernate作为三个广受好评的...

    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 + spring

    在整合Tapestry和Spring框架时,主要的目标是利用Spring的依赖注入能力为Tapestry应用提供服务。在早期版本的Tapestry中,我们通常会扩展BaseEngine类来引用Spring Bean。但在Tapestry 4及更高版本中,BaseEngine类...

    tapestry hibernate Spring应用及组件的使用

    在IT行业中,开发高效、可维护的Web应用程序是至关重要的,而Tapestry、Hibernate和Spring框架的结合使用,能够帮助我们实现这一目标。本文将深入探讨如何在实际项目中运用这三个技术,以及它们如何协同工作,以实现...

    Struts2+Hibernate+Spring框架电子商城

    本系统采用的关键技术是Struts2+Hibernate+Spring整合和AJAX。之所以采用SSH整合是因为在软件工程领域,为了降低模块耦合度,提高模块的可重用性,分层一直是广为采纳的一个方法。其实分层还可以使开发人员专注于某...

    Tapestry5, Spring and Hibernate 真正英文版.rar

    在本教程中,"Tapestry5First project with Tapestry5, Spring and Hibernate"将教你如何将这三个强大的框架整合到一个项目中。Tapestry5作为前端MVC框架,处理用户界面和交互;Spring则提供服务层和依赖注入,管理...

    tapestry 集成 spring

    此外,Spring 还支持 JDBC、ORM 框架(如 Hibernate 和 MyBatis)以及 MVC 框架,为 Web 开发提供了一站式解决方案。 **Tapestry 与 Spring 的集成** Tapestry 和 Spring 的集成主要体现在以下几个方面: 1. **...

    Tapestry4开发指南

    【Tapestry4开发指南】 Tapestry4是一款基于Java的Web应用框架,它的前身是Tapestry3.1。该框架的创始人Howard不仅开发了Tapestry,还同时创建了轻量级的Hivemind框架。Tapestry3.1在设计初期即在Hivemind框架下...

    tapestry4开发指南

    《Tapestry 4开发指南》是一本专为初学者设计的书籍,旨在帮助读者深入理解和熟练运用Tapestry 4这一强大的Java Web框架。Tapestry 4是一款开源的、基于组件的Web应用程序框架,它允许开发者用更加面向对象的方式来...

    Tapestry5.1 + EJB3.0登录实例

    Tapestry5.1 + EJB3.0实现的登录实例。 采用MYSQL数据和JBOSS4.2服务器。 项目可以直接部署。 内附操作手册。MYsql驱动 和MYSQL配置文件。 项目直接部署即可运行…… 感谢大家都支持。希望能够对跟我一样的初学者...

Global site tag (gtag.js) - Google Analytics