JAVA WEB 程序设计教程 第11章习题答案(范立锋、林果园 编著)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java Web程序设计教程(范立锋、林果园编著)
第11章Spring框架入门习题答案
1.Spring框架有哪些突出的优点?
Spring框架技术之所以受到广泛的欢迎和使用,与其自身的特点有密切联系:
开源:自从Spring框架问世之初,它就是一个开放源代码的框架。而正是由于这一点,才使得它能够被更多的Java开发人员所研究、使用,并不断得以完善、发展。
轻量级:Spring无论是大小还是系统开销都算是轻量级的,整个框架可以被压缩在几M的JAR包中,应用中处理Spring的开销也微乎其微。
方便解耦:Spring提倡通过控制反转(IoC)技术实现松耦合。通过Spring中的IoC容器管理各个对象之间的依赖关系,能够有效避免硬性编码造成的耦合过于紧密的状况。
面向切面编程(AOP):Spring对面向切面编程提供了良好的支持,通过Spring提供的AOP功能,可以轻松实现业务逻辑与系统服务(例如日志,事务等)的分离。因此,开发人员能够更加专注于业务逻辑实现。
方便集成其它框架:Spring框架允许集成其它多种框架共同进行开发设计,例如Hibernate、Struts、Struts2、Ibatis等。
2.Spring框架由哪7个模块组成?
关于Spring架构中各个模块实现的功能说明如下:
核心模块(Core):该模块是整个框架的最基本组成部分,它提供了依赖注入的功能以及对Bean容器的管理功能。通过依赖注入,使得类与类之间不再由硬性编码方式发生关系,而是通过配置实现这一过程,降低了各个类之间耦合的紧密度。Spring框架提供的BeanFactory接口,进一步消除了应用对工厂的依赖。
AOP模块(AOP):该模块提供了对AOP的支持,允许以面向切面的方式开发程序。同时Spring框架提供了AspectJ的整合。
上下文模块(Context):该模块构建于核心模块之上,提供了对Bean的框架式访问。该模块还扩展了BeanFactory功能。
ORM模块(ORM):该模块允许Spring集成各种ORM(Object-Relation Mapping)框架来实现持久层的应用。各种ORM框架以插件的形式集成到Spring框架中,并由Spring框架来完成事务管理以及异常处理。
DAO模块(DAO):该模块对JDBC进行轻量封装,用以提供对JDBC操作的支持。使用传统的SQL语句执行JDBC操作,复杂且极容易发生错误。Spring通过对JDBC的轻量封装,使得操作变得更加简单化。同时Spring提供了声明式的事务管理,使开发者不必在繁琐的事务方面花费过多的精力。
Web模块(Web):该模块也是构建于核心模块之上的,它提供了对Web各种应用的全面支持。
Spring的MVC模块(MVC):该模块提供了一个完整的MVC(Model-View-Controller)的解决方案,使用Spring框架的MVC模块进行开发,能够更好的结合IoC容器。
3.如何理解控制反转(IoC)?
IoC(Inverse of Control)通常被称为控制反转。它是一种设计模式,主要关注组件的依赖性、配置及组件的生命周期。当然IoC不仅仅适用于组件,同样也适用于简单的类。通常情况下应用程序需要调用某个类时,必须自己创建一个调用类的对象实例;而采用IoC模式以后,创建对象实例的任务将由容器或框架来完成,应用程序直接使用容器或框架创建的对象即可。
4.IoC有哪些实现方式?Spring框架一般采用何种方式?
依赖注入有三种不同的实现形式,分别为构造函数注入(Constructor Injection),设值方法注入(Setter Injection)和接口注入(Interface Injection)。
Spring框架普遍采用构造函数注入和设值方法注入两种注入方式。
5.创建一个Spring应用应该分几步?
创建一个Spring应用的步骤如下:
(1)在web.xml文件中添加Spring监听。
(2)添加Spring框架所需运行库文件。
(3)设计相应的接口及实现类。
(4)创建Spring配置文件,并在该文件中对涉及的组件进行配置。