Spring应用

上传人:油条 文档编号:20329017 上传时间:2017-11-21 格式:DOC 页数:43 大小:505.50KB
返回 下载 相关 举报
Spring应用_第1页
第1页 / 共43页
Spring应用_第2页
第2页 / 共43页
Spring应用_第3页
第3页 / 共43页
Spring应用_第4页
第4页 / 共43页
Spring应用_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Spring应用》由会员分享,可在线阅读,更多相关《Spring应用(43页珍藏版)》请在金锄头文库上搜索。

1、第 14 章一站式轻量级框架技术-Spring 应用系统开发指导录像:小时本章要点(已掌握的在方框中打钩) Spring 框架的架构 Spring 框架中的依赖注入特性 Spring 框架中的面向切面编程特性 Spring 框架中的事务管理 Spring 应用程序开发及部署 Java Web 项目开发从入门到精通214.1 初探 Spring本章我将向大家系统的介绍一下时下最流行的架构级企业应用系统开发框架 Spring 的主要特性。14.1.1 Spring是什么那么在开始讲解 Spring 框架的特性之前,我们来讨论一下关于企业级应用程序开发的事情。那么什么是企业级应用?随着信息技术的不断

2、发展和计算机的普及,企业越来越多的把很多工作都慢慢的交给计算机来辅助管理,企业的生产、采购、销售、人力资源管理等等工作都会产生大量高价值的数据,计算机的数据存储、数据运算能力能够很好的帮助企业管理好上述这些工作过程中产生的数据,当互联网技术在我们的世界中迅速普及的同时,信息化和互联网这两个 21 世纪重量级的拳头就紧紧结合到了一起,人们的工作、学习、生活的方式发生了巨大的变化,足不出户就可以解决很多事情,相隔千万里也可以随时随地见面聊天,仿佛整个世界一下子变小了很多!显而易见,企业也在分享着这些变化带来的成果,通过互联网企业可以及时的发布自己的需求信息,及时和自己的客户沟通信息,花更少的时间更

3、好的完成生产、销售和管理的工作,北京分公司的一个订单在十几秒钟就可以到达地球的另一端的企业总部.然而这一切不会自动实现,那么企业首先需要根据自身的特点,选择一个软件开发商,设计建设一套符合企业相关部门日常工作的软件系统,然后企业员工在这个软件系统的协助下完成自己的工作。那么这样一套软件系统,都需要哪些软件技术元素?1。首先软件系统需要提供人性化,美观、易用的操作界面,没有多少用户愿意使用一个操作流程复杂,显示的内容难以理解、丑陋的界面的软件的。2。其次软件系统必须能够正确的完成企业的数据计算,企业的数据计算很多时候不是简单的加减乘除,实际上企业软件开发过程中,经常会发现企业数据中存在着复杂的逻

4、辑关系,数据的正确运算是企业使用你的软件的根本前提,没有讨价还价的余地!3。最后软家系统必须能够满足客户不断变化的需求,有经验的软件工程师,都会经历这样一个事实,软件的某一项或几项功能在开发之初到完成最后的部署期间甚至在软件部署运行之后,企业客户不断的改变其中的业务功能需求,大家经常抱怨客户的这种行为,呵呵!记住我们应该适应客户的需求变更,而不是尝试阻止客户的需求变更,那么这就需要你的软件在设计时要有一个优秀的架构设计,这会有助于帮助你解决这样的问题。好的,说了这么多,接下来我们看看 Spring 的魔力!14.1.2 Spring的特性特性之一:分层架构Spring 是一个开源框架,是为了解

5、决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。第 14 章 一站式轻量级框架技术Spring 应用3尽管 Spring 支持多种服务,但是它最受关注也是最出色的特性是杰出的分层和封装。(1)Spring 是一个服务于所有层面的 JavaEE 应用开发框架-Spring 既是全面的又是模块化的Spring 为已建立的企业级应用提供了一个轻量级的解决方案,这个方案包括声明性事务管理, 通过RMI 或 webservices 远程访问业务逻辑,mail 支持工具以及对于数据和数据库之间持久层的各

6、种配置的支持。 Spring 提供了 丰富的表示层技术整合,我们可以很方便的将 jsp、 jstl、velocity、jfreechar 等众多的视图表现技术,根据项目的需要,整合到一起,而不是局限于某一种视图技术。(2)Spring 框架能够适用于任何 Java 应用Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。特性之二:轻量级的 JavaEE 应用开发框架Spring 是一个轻量级的 JavaEE 架构级的框架,这里提到的轻量级指的是 Spring 框架本身,而不是说Spring 只能适用于轻量级的应用

7、开发。(1)什么是轻量级容器轻量级容器的设计目标是为了能够避免如下所有这些麻烦事情。a.侵略性的 API(我们的代码依赖于特定的框架) b.对容器的依赖(我们的代码不能在应用服务器容器之外工作 ) c.只提供固定的一组功能,不具备配置能力 d.代码难于调试、测试 e.部署过程取决于特定的产品,无法通用(2)轻量级的 JavaEE 应用开发框架的具体体现Spring 的轻盈体现在其框架本身的基础结构以及对其他应用工具的支持和装配能力,Spring 使使用基本的 JavaBeans 来完成以前只可能由 EJB 完成的事情变得可能了。当在 Spring 内实现组件时, 容器“轻量级”的方面就展现出来

8、了: a.针对 Spring 开发的组件,只需要遵循普通 java 类的语法规范即可 (即普通的 java 对象,简称 POJO ),不需要按照 Spring 框架提供的任何特定的开发规范 (继承框架特定的基类或实现框架特定的接口) ; b.容器是轻量级的(可以部署在像 Tomcat 等类型的应用服务器中),它避免了像 EJB 容器那样的重量级方案的主要缺点,例如启动时间长、测试复杂、部署和配置困难,等等。(3)与 EJB 相对比 与 EJB 这种庞然大物相比,Spring 使我们把各个技术层次之间的风险降低;并且可以选择不同的技术实现(不强制性要求),比如数据持久层管理可以使用 hibern

9、ate,日志管理可以使用 jakarta common loggingEJB 的内聚性较强,比如数据持久层管理、事务管理、生命周期管理都全部交给了 EJB 容器中管理,内聚性的白盒特征使我们必须放弃一部分可控性而去信任容器能力。特性之三:是一种非侵入式轻量级框架(1)非侵入式允许在应用系统中自由地选择和组装 Spring 的各功能模块,并且不强制要求应用中的类从其 API 类Java Web 项目开发从入门到精通4来继承;同时也还提供和其它框架集成的接口,如与 Hibernate、 Struts2 的集成;(2)如何实现非侵入式在 Spring 中没有 logging,没有连接池,没有分布式事

10、务调度-而所有这些东西均由其它的开源项目提供。(3)“非侵入式”的优点:允许 Java 应用在不同的环境中移植特性之四:、Spring 是使用 IoC 技术的容器(1)面向接口编程Spring 提供了管理业务对象的一致方法,并且鼓励面向接口编程而不是对类编程的良好习惯;(2)面向接口编程的优点这样对于调用类来说,不直接实例化实现类,同时借助动态多态性实现对实现类中的方法调用。因此,纵然实现类发生变化,调用代码仍然可以不需要修改。这样给系统的维护与功能的扩展带来便利。定义出某个接口public interface Action public String execute(String str);

11、定义出该接口的某个实现类public class UpperAction implements Actionprivate String message;public String getMessage() return message;public void setMessage(String string) message = string;public String execute(String str) return (getMessage() + str).toUpperCase();定义出该接口的另一个实现类public class LowerAction implements A

12、ctionprivate String message;public String getMessage() return message;第 14 章 一站式轻量级框架技术Spring 应用5public void setMessage(String string) message = string;public String execute(String str) return (getMessage()+str).toLowerCase();在客户程序中使用接口类型实现逻辑功能调用:ApplicationContext ctx=new FileSystemXmlApplicationCo

13、ntext(SpringApplication.xml);/利用 Spring 的 javabean 管理接口获取接口的实例Action upperAction = (Action) ctx.getBean(theUpperAction);/注意:在普通的 Java 程序中则应该为 Action upperAction =new LowerAction();指定实现类的类名System.out.println(upperAction.execute(Spring Java Application);(3)使用 IoC 技术的优点- 降低对象之间的耦合度能够减少客户机对特定实现逻辑的依赖(使应用

14、系统中的对象从必须亲自创建其它对象中解放出来并降低对象之间的耦合度);在设计模式中,我们需要习惯一种思维编程方式:接口驱动(Interface Driven Design),接口驱动有很多好处,可以提供不同灵活的子类实现,增加代码稳定和健壮性等等,但是接口一定是需要实现的,也就是如下语句迟早要执行:OneInterfaceName interfaceObj = new OneInterfaceNameImp();(4)使用 IoC 技术的优点- 能工作在一个应用服务器之外甚至不依赖 JavaEE,因为 Spring 的 IoC 容器是纯 java 的。14.1.3 Spring的框架结构1、S

15、pring 框架的架构(1)Spring 框架是一个分层架构不同于很多技术,Spring 并不是一个“要么全部,要么没有”的东西,它是一个分层的结构。我们可以从中选取我们感兴趣的部分,而不必理会其它的部分。我们常用得最多的部分就是 Spring 的 Core 部分,也就是基于 bean 的配置框架,对于其上的MVC、ORM、DAO 等等,我们可以并不需要了解,但这丝毫不影响我们的应用。(2)主要由 7 个定义良好的模块组成Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如下图所示。Java Web 项目开发从入门到精通62、Spring 框架的 7 个模

16、块功能说明组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: (1)核心容器(Spring Core)核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。(2)Spring 上下文(Spring Context)Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。(3)Spring 的面向方面的编程(Spring AOP)通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号