`

Struts+Spring+Hibernate的整合

阅读更多

使用平台:Eclipse3.2、MyEclipse5.01GA

 

Struts、Spring、Hibernate三个框架在MyEclipse下添加顺序为:

 

首先新建一个Web Project,添加Add Struts Capabilities…,设置好包路径后继续;

 

选择MyEclipse菜单下的Add Spring Capabilities…选择所有的标签库,JAR Library Installation位置选择“Copy”项,下一步,设置Spring Bean配置文件位置,一般就默认在SRC目录,点击完成,就添加了Spring,继续;

 

切换到MyEclipse Database Explorer(数据库浏览器视图),添加一个数据连接,测试连接成功后继续,这一步是为了给下面添加Hibernate框架准备的,因为它在建立过程中需要指定一个有效连接数据库的连接;

 

选择MyEclipse菜单下的Add Hibernate Capabilities…选择反有的标签库,包括Spring的,JAR Library Installation位置还是选择“Copy”项,下一步;因为之前添加了Spring框架,所以这里就会自动识别到,并询问你使用Hibernate的配置文件“hibernate.cfg.xml”还是使用Spring的配置文件“applicationContext.xml”,这里选择Spring来统一配置,下一步;此处是定义Spring配置文件是需要新建还是使用已存在的Spring配置文件,这里选择Existing Spring configuration file,即使用已存在的Spring配置文件“src/applicationContext.xml”,下方需要指定Hibernate的SessionFactory在Spring配置文件中的Bean ID,使用“sessionFactory”即可,下一步;在DB Profile的下拉列表中选择刚刚建立的连接,并在Bean ID处设置这个DataSource在Spring配置文件中的Bean ID名,这里使用“DataSource”,下一步;接下来的Define SessionFactory properties界面是配置Hibernate的SessionFactory工具类存放位置,设置好包路径后,下一步;点击Finish,就完成了对Struts、Spring、Hibernate三个框架的设置。

 

这里还需要配置Log4J(日志工具),只需将以下两个文件复制到SRC目录下即可
commons-loggingproperties.properties
log4j.properties
至于这两文件里的具体配置就不再多说。

 

接下来,先完成JSP页面、ActionForm、及Action的添加,添加过程就不再多说。再就是为数据表添加持久化类,过程是在MyEclipse DataBase Explorer中打开连接,找到所需的表后,鼠标右键点击表名,选择“Hibernate Reverse Engineering…”,设置了包路径后,依次钩选“Hibernate Mapping File”、“Java Data Object”(取消钩选“Create abstract class”)以及“Java Data Access Object(DAO)”,在“Java Data Access Object(DAO)”下会自动钩选“Generate precise findby methods”,以及选择“Spring DAO”选项,使用“Spring DAO”后,在DAO类里转而使用了HibernateTemplate对象来操作数据库,据说可以免去事务管理,具体情况,明天再继续研究。生成完持久化类后,需要在Struts-config.xml文件里添加以下字段:
<plug-in className=
  "org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property=
      "contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/>
</plug-in>
Value值就指定了Spring配置文件applicationContext.xml文件具体包位置。

 

接着在Action中需要做以下操作:
导入import org.springframework.web.struts.ActionSupport;包
原先Action是继承Action类的,例:public class EmployeeListAction extends Action
这里将它改为继承ActionSupport类,例:public class EmployeeListAction extends ActionSupport

 

生成一个数据表的DAO对象,格式如下:
EmployeeinfoDAO empDao=EmployeeinfoDAO.getFromApplicationContext(this.getWebApplicationContext());        
List empList=empDao.getHibernateTemplate().loadAll(Employeeinfo.class);    

如此就完成了读取一个数据表里所有字段的操作

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics