SSH整合教程:MyEclipse中配置Struts+Spring+Hibernate详解

需积分: 0 2 下载量 138 浏览量 更新于2024-08-17 收藏 436KB PPT 举报
"这篇文档主要介绍了如何在MyEclipse中整合SSH(Struts、Spring、Hibernate)框架,以及C3P0数据源的配置细节。SSH整合涉及到Struts2.1.8.1、Hibernate3.5.1和Spring2.5.6的环境配置,而C3P0作为数据源提供了一套丰富的配置选项以优化数据库连接管理。" SSH整合的核心在于Struts2与Spring的集成,这需要使用Spring插件包`struts2-spring-plugin-x-x-x.jar`。该插件包中的`struts-plugin.xml`文件将Struts2的`objectFactory`设置为`spring`,意味着所有由框架创建的对象都将由Spring来管理和实例化。如果在Struts2配置文件中的`class`属性与Spring配置文件中的`id`匹配,Spring将负责对象的创建和装配。不使用Spring`ObjectFactory`时,还可以通过特定拦截器实现对象的自动装配。 在Struts2的配置文件`struts.xml`中,Action类需要与Spring的`applicationContext.xml`中的`bean`定义相匹配,确保Spring能正确管理并注入Action。例如,`loginAction`的定义应该与Spring配置文件中的`id`和`class`一致。 C3P0数据源的配置则是为了优化数据库连接的管理。它提供了一系列参数以控制连接池的行为,如: 1. `acquireIncrement`: 当连接池中的连接耗尽时,C3P0会一次创建的新连接数量。这可以控制在高并发环境下数据库连接的增长速度。 2. `acquireRetryAttempts`: 如果从数据库获取连接失败,C3P0会尝试重新获取连接的次数。默认值为30次。 3. `acquireRetryDelay`: 两次尝试获取连接之间的时间间隔,单位为毫秒。默认值为1000毫秒,即1秒。 4. `autoCommitOnClose`: 当连接关闭时,C3P0默认会回滚所有未提交的操作。默认值为`false`,意味着关闭时不自动回滚。 5. `automaticTestTable`: C3P0可以创建一个名为`Test`的空表来执行自我检测。如果设置了这个参数,那么`preferredTestQuery`将被忽略。这张`Test`表仅用于C3P0的内部测试,不应进行其他操作。 整合SSH框架的过程中,还需要注意各个依赖库的版本匹配,例如Struts2、Hibernate和Spring的版本,以及可能需要的其他支持库如SLF4J。将这些库的JAR文件添加到项目的`WEB-INF/lib`目录下是配置的第一步。 通过以上步骤,开发者可以在MyEclipse中构建一个完整的SSH应用,利用Spring的IoC和AOP特性管理业务逻辑,Struts2处理用户请求,以及Hibernate管理持久层操作,同时利用C3P0提供高效且稳定的数据库连接池服务。