Struts2+Spring+Hibernate经典整合框架

Struts2+Spring+Hibernate 的老三样组合,算是 Java Web 开发里的经典操作了。表现层交给 Struts2,业务逻辑让 Spring 搞定,数据持久化就靠 Hibernate。三者搭起来,分工挺明确的,维护起来也方便,适合做企业项目或者老系统的维护。

Struts2Action机制蛮灵活的,用配置文件把 URL 映射到具体的类和方法上,结果返回页面也能随意定。要是你习惯了 MVC 的写法,上手这个挺顺的。响应快,扩展也不难。

Spring负责中间调度,@Autowired一注入,Service 和 DAO 都能自动联通,不用手动 new 对象那么累。IoC 和 AOP 用得好的话,多切面逻辑(比如日志、事务)可以抽出来写,主流程就清爽多了。

Hibernate说白了就是帮你把 Java 类和数据库表搞成一一对应,写 SQL 的机会少了不少。SessionFactory搞定之后,操作数据库就像操作普通对象一样,挺适合懒人开发的。

整合的时候主要注意配置别乱,struts.xmlapplicationContext.xmlhibernate.cfg.xml这仨得对得上号。文件路径错了或者 Bean 没注进去,一跑就报错,调试时间全搭进去了。

如果你手上有历史项目还在跑 SSH,或者刚入门想搞懂 Java Web 框架的协作方式,mySSH这个示例项目挺适合参考的。数据库初始化可以用book.sql,跑通全流程没啥压力。

不过现在新项目我还是推荐用Spring BootMyBatis,配置少,开发快。但话说回来,SSH整合的思想到哪儿都用得上,学一学绝对不亏。

想了解更多细节可以参考这些文章:

如果你是初学者,先照着项目走一遍就行,慢慢理解每一层的职责。代码看懂了,再去拆优化也不迟。

zip
Struts2+Spring+hibernate整合.zip 预估大小:37个文件
file
book.sql 7KB
folder
mySSH 文件夹
file
.project 2KB
file
.mystrutsdata 240B
file
.springBeans 462B
file
.mymetadata 288B
folder
src 文件夹
file
struts.xml 474B
file
applicationContext.xml 2KB
folder
com 文件夹
folder
yananan 文件夹
folder
service 文件夹
folder
impl 文件夹
file
UserServiceImpl.java 558B
file
UserService.java 134B
folder
dao 文件夹
file
UserDao.java 128B
folder
impl 文件夹
file
UserDaoImpl.java 556B
folder
web 文件夹
file
UserAction.java 761B
folder
po 文件夹
file
User.java 487B
folder
hbm 文件夹
file
UserPo.hbm.xml 964B
folder
WebRoot 文件夹
folder
WEB-INF 文件夹
folder
classes 文件夹
file
struts.xml 474B
file
applicationContext.xml 2KB
folder
com 文件夹
folder
yananan 文件夹
folder
service 文件夹
file
UserService.class 170B
folder
impl 文件夹
file
UserServiceImpl.class 849B
folder
dao 文件夹
folder
impl 文件夹
file
UserDaoImpl.class 977B
file
UserDao.class 158B
folder
web 文件夹
file
UserAction.class 1KB
folder
po 文件夹
file
User.class 913B
folder
hbm 文件夹
file
UserPo.hbm.xml 964B
folder
lib 文件夹
file
mysql-connector-java-5.1.22-bin.jar 813KB
file
web.xml 2KB
file
index.jsp 1024B
file
success.jsp 841B
folder
META-INF 文件夹
file
MANIFEST.MF 36B
folder
.myeclipse 文件夹
file
.myhibernatedata 538B
folder
.settings 文件夹
file
org.eclipse.wst.jsdt.ui.superType.container 49B
file
org.eclipse.wst.common.project.facet.core.xml 252B
file
org.eclipse.jdt.core.prefs 364B
file
org.eclipse.wst.jsdt.ui.superType.name 6B
file
org.eclipse.core.resources.prefs 84B
file
org.eclipse.wst.common.component 453B
file
.jsdtscope 500B
file
.classpath 1KB
zip 文件大小:802.63KB