SSH配置详解:关键点与问题解决
需积分: 5 56 浏览量
更新于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框架搭建时,不仅要注意组件的整合,还需要关注配置文件的正确性,以及类库的完整性和版本匹配,这样才能确保项目的顺利运行。
2013-10-08 上传
2018-03-20 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
xulin_xiao
- 粉丝: 0
- 资源: 1
最新资源
- Proxy-Table-SwiftUI:SwiftUI中的HTTPS代理列表
- ThinkMachine-Advisor:使用ThinkMachine规则的GUI
- java8stream源码-MS-Translator-Speech-HoL:MS-Translator-Speech-HoL
- LiteImgResizer-开源
- 易语言图片修改大小源码.zip易语言项目例子源码下载
- java8集合源码-bookmark:书签
- ARM开发工程师入门宝典.zip
- dgsim:SyncroSim基本软件包,用于模拟野生动物种群的人口统计数据
- TicTacToe
- Gordian Knot-开源
- react-hooks-booklist-tutorial
- 读取excel文件到高级表格.zip易语言项目例子源码下载
- TSC指令大全.rar
- java版商城源码-dev-cheat-sheet:只是一个快速工具和代码片段的汇编,以启动您的开发,主要是针对Web和API。贡献是开放的!
- BounceBall:使用SFML库用C ++编写的简单游戏
- RxSwift-main.zip