java spring培训教程TP6.ppt

上传人(卖家):三亚风情 文档编号:3151254 上传时间:2022-07-22 格式:PPT 页数:21 大小:718.50KB
下载 相关 举报
java spring培训教程TP6.ppt_第1页
第1页 / 共21页
java spring培训教程TP6.ppt_第2页
第2页 / 共21页
java spring培训教程TP6.ppt_第3页
第3页 / 共21页
java spring培训教程TP6.ppt_第4页
第4页 / 共21页
java spring培训教程TP6.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、第第 六六 章章 Spring 与表现层集成与表现层集成第1页,共21页。回顾qSpring是如何集成业务逻辑层的?q通过接口实现类的方式解耦业务层与其它层,主要是用到了控制反转(依赖注入)的办法q通过AOP的方法,分离事务、日志等切面操作,让业务逻辑更为清晰qSpring是如何集成持久层的?q通过模板技术,让具体的持久层实现无须考虑如何获得连接,关闭连接(或指session)等繁琐操作,使程序员专心处理数据CURD操作q如果使用了hibernate等持久层框架,DAO就不重要了2第2页,共21页。表现层集成qSpring可以与多种表现层技术实现集成,其实与表现层集成以我的理解就是业务逻辑如何

2、被调用业务逻辑如何被调用的问题,可以分以下几个方面q与某种Web框架相集成,如Struts,DWR等q与某种java桌面应用程序相集成,如Swing来调用业务逻辑q与某种其它语言的应用程序集成,如.net的程序3第3页,共21页。与Struts集成q Spring与Struts集成有两种方式:q 使用Struts调用Spring。优点是直接了当,容易理解,缺点是无法使用Spring的依赖注入A.使用Spring来管理Struts中的Action。优点是可以为Action注入业务逻辑实现4第4页,共21页。与Struts集成q 方法A.使用Struts调用Springq 步骤:q 添加Sprin

3、g提供的 ContextLoaderListener和contextConfigLocation属性以指明Spring配置文件的位置,其原理是使用了Listener Servlet在Web工程加载的时候载入了ApplicationContext,并将其放入Servlet Context中q 使用Spring提供的 WebApplicationContextUtils从ServletContext中获取 ApplicationContextq 利用ApplicationContext获取业务逻辑Bean1.使用业务逻辑Bean5第5页,共21页。与Struts集成q如果认为以上步骤3中的方式不够

4、简便,可以选择将你的Action继承自Spring提供的 XXXActionSupport 基类6第6页,共21页。与Struts集成q 方法B.使用Spring来管理Struts中的Actionq 步骤:q 添加Spring提供的 ContextLoaderListener和contextConfigLocation属性q 为所有Action添加类型为业务逻辑接口的属性和相应的Set方法,为注入做准备7第7页,共21页。与Struts集成q 为struts-config.xml添加一个插件管理Struts Actions的配置文件管理原有Beans的配置文件8第8页,共21页。与Struts

5、集成q 配置针对struts action的配置文件,默认路径放在WEB-INF下,默认名称为action-servlet.xmlbean 需要配置name属性,值为Action的路径和以前一样的方式注入业务逻辑bean9第9页,共21页。与Struts集成q 为struts-config.xml配置,注意也可以选择第六步的方式10第10页,共21页。与Struts集成q 将struts-config.xml中所有所有action的定义进行修改,注意也可以选择第五步的方式替换11第11页,共21页。与Struts集成q最终简化办法,在方法B.的第2步后,在struts-config.xml中添

6、加:使用spring 2.0中的新特性,自动“织入”Action所需的业务逻辑Bean默认方式是根据业务逻辑Bean的类型织入的12第12页,共21页。小结qSpring和Struts的集成方式就是这些了,没有想象中的复杂,严格按照步骤做一定不会错q但话说回来,集成web应用程序中的难点不在于此,而是在于事务及事务及Session的管理的管理13第13页,共21页。SSH中结合难点q事务何时开始,何时结束qSession何时打开,何时关闭14第14页,共21页。典型的两种做法q 一个request对应多个事务,每个事务用到一个session,也就是我们现在的做法q 一个request对应多个事

7、务,但只用到一个session,这种做法在以前的课程里也讲过,叫做session per request模式,也可以称之为Open Session In View15第15页,共21页。A.做法的流程分析q客户端发送请求,经过Action来调用业务逻辑方法A与业务逻辑方法Bq方法A开启Session_A,开始事务A,执行之(中间若有拦截器、Advice等,则根据事务属性可能开启新的事务和连接,下同)q方法A执行成功,事务A提交,Session_A关闭q方法B开启Session_B,开始事务B,执行之q方法B执行成功,事务B提交,Session_B关闭q最后返回响应16第16页,共21页。B.做

8、法的流程分析q 客户端发送请求,经过Action来调用业务逻辑方法A与业务逻辑方法Bq 开启Session_A,q 方法A开始事务A,执行之(中间若有拦截器、Advice等,则根据事务属性可能开启新的事务或加入当前事务,下同)q 方法A执行成功,事务A提交q 方法B开始事务B,执行之q 方法B执行成功,事务B提交q 返回响应q 最后Session_A关闭17第17页,共21页。B.做法的优势qB.做法的优势在于有效地利用了Hibernate的一级缓存(因为没有重复打开关闭Session)q但B.的做法仅能在持久层使用 Hibernate或JPA(另外一种几乎和Hibernate完全一样的持久层

9、技术)的情况下使用18第18页,共21页。Spring如何实现做法B.q一种做法是使用Spring提供的filter,其原理是使用过滤器Servlet在请求来时打开Session,在响应后关闭SessionOpenSessionInViewFilterorg.springframework.orm.hibernate3.support.OpenSessionInViewFilterOpenSessionInViewFilter*.do19第19页,共21页。与DWR整合q相当简单,整合仅仅涉及到远程Bean的生成方式,原来是每次new一个,现在是使用Spring的Bean工厂产生注意它的去向20第20页,共21页。ACCP V4.0演讲完毕,谢谢观看!第21页,共21页。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(java spring培训教程TP6.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|