SSH配置详解:关键点与问题解决
需积分: 5 95 浏览量
更新于2024-10-01
收藏 2KB TXT 举报
"这篇文章主要探讨了SSH框架搭建过程中的关键步骤和常见问题,涉及Struts、Spring和Hibernate的集成,并提到了配置文件如WEB.XML和APPLICATION.XML的重要性。内容包括了不同方式下的Spring与Struts的整合,以及可能出现的类加载错误和事务配置的解释。"
在SSH(Struts、Spring、Hibernate)框架搭建中,整合是核心环节。首先,有三种不同的SSH整合方式:
1. 使用`plugin-struts-spring`:这种方式下,Action被Spring容器管理,通过`DelegatingActionProxy`代理实现。Action不再直接持有Service,而是通过依赖注入(DI)来调用Service。
2. 配置`struts-config.xml`:这里需要为每个Action指定类型(type),并让Spring处理Action的实例化。Action的业务逻辑仍然通过DI来调用Service。
3. 使用`AutowiringRequestProcessor`:这种方式更自动化,不需要在`struts-config.xml`中显式定义Action类型,由Spring自动装配Action和Service。但是,可能需要添加Spring AOP库以支持事务管理,这可能导致类加载错误。
类加载错误通常出现在缺少必要的库文件,如ASM库,这是Hibernate和CGLIB等框架用来动态生成字节码的库。确保Hibernate3的lib目录下包含正确的ASM版本,避免类找不到或方法不存在的错误。错误示例包括`NoClassDefFoundError`和`NoSuchMethodError`。
关于事务配置,Spring提供了多种事务传播行为(propagation),每种传播行为在不同场景下有不同的作用:
- `propagation_required=0`:默认设置,如果当前存在事务,则加入,否则新建一个事务。
- `propagation_supports=1`:如果当前存在事务,则加入,否则不开启事务。
- `propagation_mandatory=2`:如果当前存在事务,必须加入,否则抛出异常。
- `propagation_required_new=3`:总是新建一个新的事务,与当前事务隔离。
- `propagation_not_supported=4`:当前事务被挂起,不支持事务。
理解这些配置选项对于正确管理和控制事务至关重要,它们直接影响到程序的并发性和数据一致性。因此,在SSH框架搭建时,不仅要注意组件的整合,还需要关注配置文件的正确性,以及类库的完整性和版本匹配,这样才能确保项目的顺利运行。
395 浏览量
2017-01-18 上传
2011-09-14 上传
2017-03-15 上传
xulin_xiao
- 粉丝: 0
- 资源: 1
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构