上一篇写了Liferay源代码的编译和二次开发环境的生成(ext工程),下面将介绍在二次开发环境上搭建自己的开发框架.
用Eclipse打开编译Liferay源代码生成的ext扩展开发环境,如下图

主要介绍ext-ejb和ext-web两个目录,利用Liferay的ant工具可以自动生成一套对于数据库表CURD的处理类,但是为符合自己的开发习惯,我在ext环境上搭建了自己的开发框架,主要包括两大块,第一是Hibernate数据访问层的封装,二是Struts的集成,集成了DispatchAction的多方法的功能.
下面介绍如何对Hibernate数据访问层进行封装ext-ejb/classes/META-INF 目录下面的ext-hbm.xml是Hibernate映射文件,ext-spring-professional.xml是Spring配置文件,对于ext-hbm.xml文件就不做解释了下面是Hibernate数据访问层的Spring的配置代码
<beanid="cn.pisoft.portlet.hibernate.HibernateService.professional"class="cn.pisoft.portlet.hibernate.impl.HibernateServiceImpl"lazy-init="true"/>
<beanid="cn.pisoft.portlet.hibernate.HibernateService.transaction"class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"lazy-init="true">
<propertyname="transactionManager">
<refbean="liferayTransactionManager"/>
</property>
<propertyname="target">
<refbean="cn.pisoft.portlet.hibernate.HibernateService.professional"/>
</property>
<propertyname="transactionAttributes">
<props>
<propkey="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<beanid="cn.pisoft.portlet.hibernate.factory.HibernateServiceFactory"class="cn.pisoft.portlet.hibernate.factory.HibernateServiceFactory"lazy-init="true">
<propertyname="service">
<refbean="cn.pisoft.portlet.hibernate.HibernateService.transaction"/>
</property>
</bean>

<beanid="cn.pisoft.portlet.hibernate.impl.HibernateDaoImpl"class="cn.pisoft.portlet.hibernate.impl.HibernateDaoImpl"lazy-init="true">
<propertyname="dataSource">
<refbean="liferayDataSource"/>
</property>
<propertyname="sessionFactory">
<refbean="liferaySessionFactory"/>
</property>
</bean>
<beanid="cn.pisoft.portlet.hibernate.util.HibernateDaoUtil"class="cn.pisoft.portlet.hibernate.util.HibernateDaoUtil"lazy-init="true">
<propertyname="dao">
<refbean="cn.pisoft.portlet.hibernate.impl.HibernateDaoImpl"/>
</property>
</bean>
下面是相关的JAVA类和接口
HibernateDao.java 接口
packagecn.pisoft.portlet.hibernate;

importjava.io.Serializable;
importjava.util.List;

importcn.pisoft.portlet.common.Pager;





/***//**
*<p>Title:</p>
*
*<p>Description:</p>
*
*<p>Copyright:Copyright(c)2007</p>
*
*<p>Company:</p>
*
*<p>Author:一个人的日子</p>
*
*<p>Email:zhjb2000@hotmail.com</p>
*
*<p>Version:1.0</p>
*
*<p>Create2007-7-29</p>
*
*/


publicinterfaceHibernateDao...{

publicvoidsave(Objectpo)throwsException;

publicListquery(Stringhql)throwsException;

publicObjectget(Classclas,Serializableid)throwsException;

publicvoidupdate(Objectpo)throwsException;

publicvoiddelete(Objectpo)throwsException;

publicPagerqueryByPage(Stringhql,inttotalElements,intpageNumber,intpageSize)throwsException;

publicPagerqueryByPage(Stringhql,intpageNumber,intpageSize)throwsException;

publicvoidexecuteSql(Stringsql)throwsException;

publicintgetCountByExecuteSql(Stringsql)throwsException;

publicListgetTopN(Stringhql,intn)throwsException;

publicListgetListByExecuteSql(Stringsq,StringcolumnNamel)throwsException;
publicListgetListByExecuteSql(Stringsq,intfetchNubmer)throwsException;
}
HibernateDaoImpl.java 上面接口的实现类
相关推荐
本篇文章将详细讲解如何在基于Myeclipse 6和Tomcat 6.0.24的环境中搭建Liferay 5.2.3的二次开发环境。 **一、环境准备** 在开始Liferay的开发工作之前,我们需要准备好以下软件: 1. **Myeclipse 6**: 这是一个...
Liferay 6.2 开发环境搭建.doc,包括Liferay SDK下载及搭建过程等!
Liferay 6.1.2 开发环境的搭建 Liferay 是一个开源的企业portal平台,提供了丰富的功能和插件,帮助开发者快速构建企业门户网站。为了搭建 Liferay 6.1.2 开发环境,我们需要安装 JDK、Liferay Portal、Tomcat、Ant...
**Liferay Portal 6.0 开发环境搭建详解** Liferay Portal是一款强大的开源企业门户解决方案,深受全球开发者和企业的喜爱。它基于先进的Java技术和Web 2.0特性,支持多种应用服务器、servlet容器、数据库以及操作...
### Liferay 6.1与Eclipse 3.6开发环境搭建详解 #### 一、前言 在软件开发领域,构建一个高效稳定的开发环境至关重要。对于基于Liferay平台的应用开发来说,选择合适的集成开发环境(IDE)是提高开发效率的关键之一...
搭建Liferay Portal的开发环境是一项细致且复杂的过程,涉及到多个步骤和组件的配合。本文将根据给定的文件信息,详细解析如何从零开始构建一个完整的Liferay开发环境,包括必要的准备、具体步骤以及关键配置。 ###...
本文档旨在详细介绍如何利用Eclipse集成开发环境(IDE)来搭建Liferay开发环境,并创建portlet项目。通过本指南,您将能够成功安装必要的软件并配置开发环境。 #### 二、所需资源 为了搭建Liferay开发环境,您需要...
【Liferay 5.2.3 开发环境搭建】 Liferay 是一款强大的开源门户平台,基于J2EE架构,融合了EJB、JMS等多种技术。它的前端使用Struts MVC框架,通过XML配置文件实现portlet的动态扩展。此外,Liferay还集成了Web服务...
本教程将详细解释如何在Windows环境下搭建Liferay的开发环境,以进行二次开发。 首先,我们需要准备以下文件: 1. JDK (Java Development Kit) - 用于编译和运行Java代码。 2. Ant - 一个自动化构建工具,Liferay的...
2. **LifeRay二次开发指南**:二次开发指南是针对已经熟悉LifeRay基础的开发者,它可能会详细讲解如何基于LifeRay的开放源代码进行定制化开发,包括创建自定义主题、布局、portlet、服务等,以及如何利用LifeRay的...
本文将详细介绍如何搭建Liferay 5.2.3的开发环境。 1. **关于Liferay 5.2.3** Liferay 5.2.3是Liferay Portal的一个较早版本,发布于2009年。尽管现在已经有了更先进的版本,但5.2.3仍然被一些企业使用,因为它...
### MyEclipse 8 + Liferay 开发环境...通过上述步骤,开发者可以在 MyEclipse 8 环境下成功搭建 Liferay 的开发环境,并进行高效的二次开发工作。这不仅提高了开发效率,也为构建复杂的企业级应用提供了坚实的基础。
【Liferay 5.2.3 环境搭建】是指在本地计算机上配置和安装Liferay Portal 5.2.3版本的过程。Liferay是一个全面的门户平台,基于Java Enterprise Edition (J2EE) 技术构建,利用EJB(Enterprise JavaBeans)和JMS...
【标题】"Liferay配置二次开发环境——Eclipse"涉及的知识点主要集中在Liferay门户平台的开发环境搭建,特别是如何在Eclipse集成开发环境中进行配置。Liferay是一款开源的企业级内容管理和数字体验平台,它提供了...
### Liferay Portal 二次开发指南 #### 一、Liferay Portal 架构解析 ##### 1.1 Portal规范 Liferay Portal遵循了两种主要的门户规范:JSR 168 和 WSRP (Web Services for Remote Portlets)。JSR 168是一个Java...
MyEclipse8+Liferay开发环境搭建
本文将详述“liferay开发小记——开发环境的搭建”这一主题,旨在帮助开发者们快速有效地设置自己的开发环境,从而顺利进行Liferay插件或portlet的开发。 首先,我们需要了解Liferay开发的基础。Liferay提供了多种...
### Liferay 6.1与Eclipse 3.6开发环境搭建详解 #### 一、前言 在软件开发领域,构建一个高效稳定的开发环境至关重要。对于基于Liferay平台进行开发的团队而言,确保开发环境的顺利搭建是项目成功的关键之一。本文...