分类: 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
进入build path,添加commons-dbcp-1.2.2.jar和commons-pool-1.3.jar。
5. 通过 MyEclipse 的反向工程向导方式,生成 POJO类和对应的映射文件。
6. 修改 applicationContext.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 的所需要的过滤器配置。
org.apache.struts2.dispatcher.FilterDispatcher
1.增加 Struts2 相应类库, 增加 struts2-spring-plugin-x-x-x.jar文件。 (Struts 的压缩包中, Struts所提供的。 )
2. 需要拷贝struts.xml 文件到 src 跟目录下,再修改 struts.xml 文件,进行常量配置。
3. 修改 web.xml 文件,配置 Spring 监听器和上下文变量。
修改 web.xml 文件,增加OpenSessionInViewFilter的设置。
4. 编写 Action 类。
5. 配置 struts.xml 文件。
struts.xml
|