一. 单选题(共5题,30分)
1. (单选题, 6分) 以下关于Spring核心容器相关说法错误的是。
A
Spring框架的所有功能都是通过其核心容器来实现的。
B
创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理。
C
ApplicationContext不仅包含了BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持。
D
通常在Java项目中,会采用通过ClassPathXmlApplicationContext类来实例化ApplicationContext容器的方式,而在Web项目中,ApplicationContext容器的实例化工作会交由Web服务器来完成。
2. (单选题, 6分) 以下有关Spring的四个基础包说法正确的是。
A
Spring的四个基础包,它们分别对应Spring Web容器的四个模块。
B
Spring的四个基础包有spring-core.RELEASE.jar、spring-beans-.RELEASE.jar、spring-context-.RELEASE.jar和spring-aop-.RELEASE.jar。
C
spring-context-.RELEASE.jar是所有应用都要用到的JAR包,它包含访问配置文件以及进行IoC或者DI操作相关的所有类。
D
spring-core.RELEASE.jar包含Spring框架基本的核心工具类,Spring其它组件都要用到这个包里的类,是其它组件的基本核心。
3. (单选题, 6分) 以下有关Spring框架优点的说法正确的是。
A
Spring具有简单、可测试和松耦合等特点,从这个角度出发,Spring就是应用于任何Java应用的开发中
B
Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性
C
Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,杜绝了组件之间的耦合性
D
Spring增加了Java EE开发中一些API的使用难度
4. (单选题, 6分) Spring的核心容器是其他模块建立的基础,以下哪个不是该容器的组成模块。
A
Beans模块
B
Core模块
C
Context模块
D
AOP模块
5. (单选题, 6分) 下列选项中,不属于Spring框架优点的是。
A
提供强大的、可以有效减少页面代码的标签
B
声明式事务的支持
C
方便解耦、简化开发
D
方便集成各种优秀框架
二. 填空题(共5题,30分)
6. (填空题, 6分)
依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到【 】组件中。
第1空 Bean
7. (填空题, 6分)
在使用Spring框架之后,对象的实例不再由调用者来创建,而是由【 】来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。
第1空 Spring容器
8. (填空题, 6分)
在Spring入门程序中只需将Spring的4个基础包以及【 】的JAR包复制到lib目录中,并发布到类路径下即可。
第1空 commons-logging
9. (填空题, 6分)
简单来说,BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并管理它们的【 】。
第1空 生命周期
10. (填空题, 6分) Spring开发所需的JAR包分为两个部分:【 】和【 】。
第1空 Spring框架包
第2空 第三方依赖包
三. 判断题(共5题,30分)
11. (判断题, 6分) Spring中基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。
A
对
12. (判断题, 6分) 通常在Java项目中,会采用通过FileSystemXmlApplicationContext类来实例化ApplicationContext容器的方式。
B
错
13. (判断题, 6分) 初学者学习Spring框架时,只需将Spring的4个基础包以及commons-logging.jar复制到项目的lib目录,并发布到类路径中即可。
A
对
14. (判断题, 6分) 依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到Bean组件中。
A
对
15. (判断题, 6分) Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块。
A
对
四. 简答题(共1题,10分)
16. (简答题, 10分) Spring依赖注入通常有哪些实现方式,列举并分别进行说明。
Spring的实现方式通常有两种:属性setter方法注入和构造方法注入。
属性setter方法注入:是指IoC容器使用setter方法来注入被依赖的实例。通过调用无参构造器或无参静态工厂方法实例化Bean后,调用该Bean的setter方法,即可实现基于setter方法的依赖注入。
构造方法注入:是指IoC容器使用构造方法来注入被依赖的实例。基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。