spring框架测试题

章节测验

1.spring基本应用

1.[单选题] 以下关于Spring核心容器相关说法错误的是()。

A.Spring框架的所有功能都是通过其核心容器来实现的

B.创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理

C.ApplicationContext不仅包含了BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持

D.通常在Java项目中,会采用通过ClassPathXmlApplicationContext类来实例化ApplicationContext容器的方式,而在Web项目中,ApplicationContext容器的实例化工作会交由Web服务器来完成

答案:A

2.[单选题] 以下有关Spring框架优点的说法正确的是()。

A.Spring具有简单、可测试和松耦合等特点,从这个角度出发,Spring就是应用于任何Java应用的开发中;

B.Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性

C.Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,杜绝了组件之间的耦合性

D.Spring增加了Java EE开发中一些API的使用难度

答案:B

3.[单选题] Spring的核心容器是其他模块建立的基础,以下哪个不是该容器的组成模块()

A.Beans模块

B.Core模块

C.Context模块

D.AOP模块

答案:D

4.[单选题] 以下有关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其它组件都要用到这个包里的类,是其它组件的基本核心

答案:D

5.[单选题] 下列选项中,不属于Spring框架优点的是()。

A.提供强大的、可以有效减少页面代码的标签

B.声明式事务的支持

C.方便解耦、简化开发

D.方便集成各种优秀框架

答案:A

6.[单选题] 下列有关Spring框架的描述,错误的是()

A.Spring是Java Web开发框架

B.Spring是轻量级框架

C.Spring是开源框架

D.Spring是持久层框架

答案:D

7.[多选题] 下列有关Spring框架的描述,正确的有()

A.Spring是持久层框架

B.Spring是Java Web开发框架

C.Spring是开源框架

D.Spring是一个重量级框架

答案:BC

8.[多选题] Spring的核心容器是其他模块建立的基础,以下哪些属于该容器的组成模块()。

A.Beans模块

B.Core模块

C.SpEL

D.AOP模块

答案:ABC

9.[多选题] 下列选项中,属于Spring框架优点的有()。

A.方便解耦、简化开发

B.AOP编程的支持

C.方便集成各种优秀框架

D.声明式事务的支持

答案:ABCD

10.[多选题] 以下哪些属于Spring框架模块()。

A.Core Container

B.Data Access/Integration

C.IoC

D.Messaging

答案:ABD

11.[多选题] 以下有关Spring核心容器的说法正确的是()。

A.Spring框架提供了两种核心容器,分别为BeanFactory和ApplicationContext

B. BeanFactory由org.springframework.beans.facytory.BeanFactory接口定义,是基础类型的IoC容器

C.BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用它们的生命周期方法

D.ApplicationContext是BeanFactory的子接口,也被称为应用上下文,是另一种常用的Spring核心容器

答案:ABCD

12.[多选题] 以下有关依赖注入相关说法正确的是()。

A.依赖注入(DI)与控制反转(IoC)的含义相同,只不过这两个称呼是从两个角度描述的同一个概念

B.在传统模式下,调用者通常会采用“new 被调用者”的代码方式来创建对象,这种方式会导致调用者与被调用者之间的耦合性增加,不利于后期项目的升级和维护

C.在使用Spring框架之后,控制权由应用代码转移到了Spring容器,控制权发生了反转,这就是Spring的控制反转

D.从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,相当于为调用者注入了依赖的实例,这就是Spring的依赖注入

答案:ABCD

13.[判断题] 在传统模式下,采用“new 被调用者”的方式来创建对象会导致调用者与被调用者之间的耦合性增加,不利于后期项目的升级和维护()。

答案 :对

14.[判断题] Spring具有简单、可测试和松耦合等特点()

答案 :对

15.[判断题] Spring框架的主要功能是通过其核心容器来实现的()。

答案 :对

16.[判断题] Spring是一个轻量级的开源框架()

答案 :对

17.[判断题] Spring框架提供了两种核心容器,分别为BeanFactory和ApplicationContext()。

答案 :对

18.[判断题] 依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到Bean组件()。

答案 :对

19.[判断题] 通常在Java项目中,会采用通过FileSystemXmlApplicationContext类来实例化ApplicationContext容器的方式()。

答案 :错

20.[判断题] Spring不仅可以用于服务器端开发,也可以应用于任何Java应用的开发中()。

答案 :对

21.[判断题] Spring配置文件的名称可以自定义,通常在实际开发中,都会将配置文件命名为applicationContext.xml()。

答案 :对

22.[判断题] 依赖注入(DI)与控制反转(IoC)的含义不同,描述的不是同一个概念()。

答案 :错

23.[判断题] Spring对服务器端三层体系架构的每一层都提供了技术支持()

我的答案 :对

24.[判断题] Spring开发不需要任何第三方依赖包()。

答案 :错

25.[判断题] Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,大大的降低了组件之间的耦合性()。

答案 :对

26.[判断题] Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块()。

答案 :对

27.[判断题] Spring框架可以和Struts2和Hibernate框架进行整合()

答案 :对

28.[判断题] Spirng框架的Beans模块提供了Spring框架的基本组成部分,包括IoC和DI功能()。

答案 :错

29.[判断题] Spring是由Rod Johnson组织和开发的一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架()。

答案 :对

30.[判断题] Spring的第一个版本是在2004年发布的()。

答案 :对

31.[判断题] Spring中基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖()。

答案 :对

2.Spring中的Bean

1【单选题】

Spring中定义了一系列的注解,以下有关其常用的注解说明错误的是()。

A、

@Autowired用于对Bean的属性变量、属性的setter方法及构造方法进行标注,配合对应的注解处理器完成Bean的自动配置工作,默认按照Bean的名称进行装配。
B、

@Repository用于将数据访问层(DAO层)的类标识为Spring中的Bean
C、

@Service通常作用在业务层(Service层),用于将业务层的类标识为Spring中的Bean
D、

@Controller通常作用在控制层(如Spring MVC的Controller),用于将控制层的类标识为Spring中的Bean

正确答案: A
2
【单选题】Spring的元素中的autowire属性取值不包括以下()。

A、
default
B、
byName
C、
byType
D、
byId

正确答案: D
3
【单选题】以下有关Bean的singleton作用域说法错误的是()。

A、
prototype是Spring容器默认的作用域
B、
对需要保持会话状态的Bean(如Struts2的Action类)应该使用prototype作用域
C、
在使用prototype作用域时,Spring容器会为每个对该Bean的请求都创建一个新的实例
D、
要将Bean定义为prototype作用域,只需在配置文件中将<bean>元素的scope属性值设置为prototype即可

正确答案: A
4
【单选题】下列选项中,不属于Spring中实例化Bean的方式的是()。

A、
构造器实例化
B、
静态工厂方式实例化
C、
实例工厂方式实例化
D、
抽象方法实例化

正确答案: D
5
【单选题】以下哪些不属于Spring 4.3版本中Bean的作用域()

A、
application
B、
request
C、
response
D、
globalSession

正确答案: C
6
【单选题】以下有关Spring中Bean的作用域说法正确的是()。

A、
Spring 4.3中为Bean的实例定义了5种作用域
B、
使用prototype定义的Bean在Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指向同一个对象
C、
每次通过Spring容器获取的singleton定义的Bean时,容器都将创建一个新的Bean实例
D、
globalSession:在一个全局的HTTP Session中,容器会返回该Bean的同一个实例。

正确答案: D
7
【填空题】实例工厂方式采用直接创建Bean实例的方式,在配置文件中,需要实例化的Bean是通过【】属性指向配置的实例工厂,然后使用factory-method属性确定使用工厂中的哪个方法。

正确答案:
第一空:
factory-bean;

8
【填空题】Spring中要将Bean的作用域定义成singleton,只需将scope的属性值设置为【】即可。

正确答案:
第一空:
singleton;

9
【填空题】通过Spring容器创建一个Bean的实例时,不仅可以完成Bean的实例化,还可以为Bean指定特定的【】。

正确答案:
第一空:
作用域;

10
【填空题】所谓自动装配,就是将一个Bean自动的注入到到其他Bean的【】中。(注写英文,首字母大写)

正确答案:
第一空:
Property;

11
【填空题】【】注解用于将数据访问层(DAO层)的类标识为Spring中的Bean,其功能与@Component 相同。

正确答案:
第一空:
@Repository;

12
【填空题】Spring实例化Bean有三种方式,分别为构造器实例化、静态工厂方式实例化和【】。注:写完整类似:…方式实例化

正确答案:
第一空:
实例工厂方式实例化;

13
【填空题】Spring中的一系列的注解中, @Repository、@Service与@Controller功能与【】注解的功能相同。

正确答案:
第一空:
@Component;

14
【填空题】要将Bean定义为prototype作用域,只需在配置文件中将元素的scope属性值设置为【】即可。

正确答案:
第一空:
prototype;

15
【填空题】静态工厂方式实例化Bean时,其class属性指定的是【】,同时还需要使用factory-method属性来指定所创建的【】。

正确答案:
第一空:
静态工厂类
第二空:
静态工厂方法;

16
【填空题】构造器实例化是指Spring容器通过Bean对应类中默认的【】来实例化Bean。

正确答案:
第一空:
无参构造方法;

17
【填空题】Spring容器支持多种形式的Bean的装配方式,如基于【】的装配、基于注解(Annotation)的装配和自动装配。(注:答案要大写)

正确答案:
第一空:
XML;

18
【填空题】在Spring配置文件中,Bean的作用域是通过元素的【】属性来指定的。

正确答案:
第一空:
scope;

19
【填空题】对需要保持会话状态的Bean(如Struts2的Action类)应该使用【】作用域。

正确答案:
第一空:
prototype;

20
【填空题】Spring的元素中包含一个【】属性,我们可以通过设置该属性值来自动装配Bean。

正确答案:
第一空:
autowire;

21
【填空题】

在配置文件中,通常一个普通的Bean只需要定义【】(或【】)和【】两个属性即可。

正确答案:
第一空:
id
第二空:
name
第三空:
class;
22
【填空题】静态工厂方式实例化Bean时,其class属性指定的是静态工厂类,同时还需要使用【】属性来指定所创建的静态工厂方法。

正确答案:
第一空:
factory-method;

23
【填空题】Spring容器支持【】(注:大写)和【】(注:首字母大写)两种格式的配置文件,在实际开发中,最常使用的就是【】格式的配置方式。

正确答案:
第一空:
XML
第二空:
Properties
第三空:
XML;

24
【填空题】Spring可以被看做是一个大型工厂,这个工厂的作用就是生产和管理Spring容器中的【】。

正确答案:
第一空:
Bean;

25
【判断题】singleton是Spring容器默认的作用域()。
正确答案:√

26
【判断题】使用基于基于Annotation的装配可以较大程度上解决基于XML方式装配导致的配置文件臃肿和难以维护等问题()。
正确答案:√
27
【判断题】prototype是Spring容器默认的作用域()。
正确答案:×
28
【判断题】Bean的装配可以理解为依赖关系注入,Bean的装配方式即Bean依赖注入的方式()。
正确答案:√
29
【判断题】对需要保持会话状态的Bean(如Struts2的Action类)应该使用prototype作用域()。
正确答案:√
30
【判断题】静态工厂的方法来创建Bean实例,其class属性指定的同样是Bean实例的实现类,同时还需要使用factory-method属性来指定所创建的静态工厂方法()。
正确答案:×
31
【判断题】所谓自动装配,就是将一个Bean自动的注入到到其他Bean的Property中()。
正确答案:√
32
【判断题】Spring 4.3版本中为Bean的实例定义了7种作用域()。
正确答案:√
33
【判断题】Spring容器可以管理singleton作用域的Bean的生命周期()
正确答案:√
34
【判断题】Spring可以被看做是一个大型工厂,这个工厂的作用就是生产和管理Spring容器中的Bean。()
正确答案:√
35
【判断题】Spring的元素中包含一个autowire属性,我们可以通过设置autowire的属性值来自动装配Bean()。
正确答案:√
36
【判断题】Spring容器也可以管理prototype作用域的Bean的生命周期()。
正确答案:×
37
【判断题】Spring中使用prototype定义的Bean在Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指向同一个对象()。
正确答案:×
38
【判断题】构造器实例化是指Spring容器通过Bean对应类中默认的无参构造方法来实例化Bean()。
正确答案:√
39
【判断题】在配置文件中,通常一个普通的Bean只需要定义id(或name)和class 两个属性即可()。
正确答案:√
40
【判断题】singleton作用域对于无会话状态的Bean(如Dao 组件、Service组件)来说,是最理想的选择()。
正确答案:√
41
【判断题】通过Spring容器创建一个Bean的实例时,不仅可以完成Bean的实例化,还可以为Bean指定特定的作用域()。
正确答案:√
42
【判断题】在Spring中,XML配置文件的根元素是,中包含了多个子元素,每一个子元素定义了一个Bean,并描述了该Bean如何被装配到Spring容器中()。
正确答案:√
43
【判断题】如果在Bean中未指定id和name,则Spring会将class值当作id使用()。
正确答案:√
44
【判断题】Spring容器支持XML和Properties两种格式的配置文件,在实际开发中,最常使用的就是Properties格式的配置方式。()。
正确答案:×
45
【判断题】Spring容器支持多种形式的Bean的装配方式,如基于XML的装配、基于注解(Annotation)的装配和自动装配(其中最常用的是基于XML的装配)()。
正确答案:×

3 Spring AOP

1
【单选题】下列有关AOP专业术语中,用于指那些被拦截到的点的是()。

A、
Joinpoint
B、
Pointcut
C、
Aspect
D、
Advice

正确答案: A
2
【单选题】以下有关CGLIB代理相关说法正确的是()。

A、
CGLIB代理的使用非常简单,但它还有一定的局限性——使用动态代理的对象必须实现一个或多个接口
B、
如果要对没有实现接口的类进行代理,那么可以使用JDK代理
C、
CGLIB是一个高性能开源的代码生成包,在使用时需要另外导入CGLIB所需要的包
D、
Spring中的AOP代理,可以是JDK动态代理,也可以是CGLIB代理

正确答案: D
3
【单选题】关于AspectJ注解的介绍,说法错误的是()。

A、
@Aspect用于定义一个切面
B、
@Pointcut用于定义切入点表达式
C、
@Before用于定义前置通知,相当于BeforeAdvice
D、
@After用于定义后置通知,相当于AfterReturnin
  • 4
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值