版本说明:Struts1.2 + hibernate3.1 + spring2.0
1. 建立包
(1)dao包:定义操作各个对象POJO方法,接口。
(2)daoimpl包:实现dao包中对应的接口的类。
(3)hibernate包:POJO以及其相应的配制文件。(也可以通过JDK1.5中的Annotation实现mapping,而不需要配制文件)。
(4)service包:服务层定义业务方法,接口。
(5)serviceimpl包:实现service包中对应的接口的类。
(6)struts包:包含资源文件。
(7)struts.action包:包含Action.
(8)struts.form包:包含FormBean.
(9)vo包:包含值对象。
2. 通过多态实现UI
(1)dao包中的BaseDAO接口:就只是定义一个接口就可以,可以有方法,也可以没有。
(2)daoimpl包中的BaseDAOImpl类:继承HibernateDaoSupport类,并且实现BaseDAO接口。
(3)service包中的BaseService接口:定义一个
public void setBaseDAOImpl(BaseDAOImpl dao);方法。用于后续的setter注入。
(4)serviceimpl包中的BaseServiceImpl类:实现BaseService接口,其中需要定义一个protected的变量BaseDAOImpl,以便在BaseServiceImpl的子类注入后可以直接调用。当然你也可以多定义一个get方法。
(5)aciont包中的BaseAction类:继承ActionSupport类。并且定义一个getBean的方法。这个方法是根据id找到一个bean。
3. 相关配置
(1)applicationContext.xml:配置一个sesssionFactory。
(2)web.xml:主要是在启动的时候去加载相应的配制。
(3)daoConfig.xml:配置baseDAOImpl,将sessionFactory注入。然后配置实现继承。
(4)serviceConfig.xml:配置BaseServiceImpl子类(普通类),通过多态的setter注入。
(5)trancation.xml:配置声明式事务。(也可以通过JDK1.5中提供的Annotation实现)。
(6)struts-config.xml:配置Action。
4. Vo的作用
在控制层将FormBean转换成vo,将vo传给服务层(service),在服务层中将vo转换成POJO传给DAO。查询的话就相反即可。
实例源码下载:http://download.csdn.net/source/2509809