Chinaunix首页 | 论坛 | 博客
  • 博客访问: 495030
  • 博文数量: 96
  • 博客积分: 6046
  • 博客等级: 准将
  • 技术积分: 908
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-07 22:40
文章分类

全部博文(96)

文章存档

2009年(12)

2008年(18)

2007年(45)

2006年(21)

我的朋友

分类: Java

2008-12-01 19:50:48

1.1 组合Hibernate与Spring
1. 在 Eclipse中,新建一个 Web project。
选择Java EE5.0 。
2. 给该项目增加 Hibernate 开发能力,增加 Hibernate 相关类库到当前项目的 Build Path,同时也提供了 hibernate.cfg.xml 这个配置文件。
选择Hibernate3.1,
勾选Core包。
3. 给该项目增加 Spring 开发能力,增加 spring 相关类库到当前项目的 Build Path,同时也提供了 applicationContext.xml 文件。注意:最好把 applicationContext.xml 文件保存到当前项目的 WebRoot/WEB-INF的根目录下。
选择Spring 2,勾选Core,Persistence Core包(会自动选择AOP包),
勾选Web包。
4. 删除 hibernate.cfg.xml文件,修改 applicationContext.xml文件的内容,增加 sessionFactory和 dataSource 的设置。修改的内容如下所示:
xmlns:xsi=""
xsi:schemaLocation="
">
   class="org.apache.commons.dbcp.BasicDataSource">
  
   value="oracle.jdbc.driver.OracleDriver">
  
  
   value="jdbc:oracle:thin:@liuweiv3000:1521:ora9">
       
   
   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  
  
  
  
  
   
     org.hibernate.dialect.Oracle9Dialect
                            
  
  
  
  
    cn/com/jobedu/shop/model/Catalog.hbm.xml
  
     
进入build path,添加commons-dbcp-1.2.2.jar和commons-pool-1.3.jar。
5. 通过 MyEclipse 的反向工程向导方式,生成 POJO类和对应的映射文件。

6. 修改 applicationContext.xml 文件中元素的内容。如
下所示:
  
    cn/com/jobedu/shop/model/Catalog.hbm.xml
cn/com/jobedu/shop/model/Product.hbm.xml
  
7. 编写 DAO接口。
package cn.com.jobedu.shop.dao;
import java.util.List;
import cn.com.jobedu.shop.model.Catalog;
public interface CatalogDao {
public void create(Catalog c);
public Catalog getCatalog(Long id);
public List getCatalogs();
public void update(Catalog c);
public void remove(Long id);
}
8. 编写 DAO接口的实现类,实现类使用 Spring 提供的帮助类。示意如下:
package cn.com.jobedu.shop.dao.hibernate;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import cn.com.jobedu.shop.dao.CatalogDao;
import cn.com.jobedu.shop.model.Catalog;
public class CatalogDaoHibernate extends HibernateDaoSupport implements CatalogDao {
@Override
public void create(Catalog c) {
// HibernateTemplate template=getHibernateTemplate();
// template.save(c);
   getHibernateTemplate().save(c);
   
}
@Override
public Catalog getCatalog(Long id) {
   return (Catalog)getHibernateTemplate().get(Catalog.class, id);    
}
@Override
public List getCatalogs() {
    return getHibernateTemplate().find("from Catalog order by id desc");
}
@Override
public void remove(Long id) {
// Catalog c=this.getCatalog(id);
// getHibernateTemplate().delete(c);
   getHibernateTemplate().delete(getCatalog(id));
}
@Override
public void update(Catalog c) {
getHibernateTemplate().update(c);  
}  
}
9. 修改 applicationContext.xml文件,增加对 Dao实现类的配置。
   class="cn.com.jobedu.shop.dao.hibernate.CatalogDaoHibernate">
  
  
  
1.2 再组合Struts2,完成Struts2、Spring和Hibernate的三者组合
0. 修改 web.xml 文件,增加struts2 的所需要的过滤器配置。
   struts2
  
   org.apache.struts2.dispatcher.FilterDispatcher
  
   struts2
   /*
1.增加 Struts2 相应类库, 增加 struts2-spring-plugin-x-x-x.jar文件。 (Struts 的压缩包中, Struts所提供的。 )
2. 需要拷贝struts.xml 文件到 src 跟目录下,再修改 struts.xml 文件,进行常量配置。
      
3. 修改 web.xml 文件,配置 Spring 监听器和上下文变量。
       contextConfigLocation
       /WEB-INF/applicationContext*.xml
      
org.springframework.web.context.ContextLoaderListener
修改 web.xml 文件,增加OpenSessionInViewFilter的设置。
lazyLoadingFilter
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
   lazyLoadingFilter
   *.action
4. 编写 Action 类。
5. 配置 struts.xml 文件。
struts.xml
       "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
       "">
      
      
          
          
               hello.jsp
          
   ....
      
6. 修改 applicationConext.xml,默认情况下,Spring 从下面的文件中寻找为 action 所做的配置。
       scope="prototype" />
       ...
7.编写所需要的 JSP 文件。
8. 部署,调试整个项目。
  
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  
  
  
    
           
   
     
       
       
       
       
     
   
    
   
   
     
     
         
阅读(934) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~