第一章
1、以下有关 Spring框架优点的说法正确的是()。
A、Spring!具有简单、可测试和松耦合等特点,从这个角度出发,spring就是应用于任何ava应用的开发中;
B、Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程
序的复用性
C、spring就是个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给 Spring容器管理,杜绝了组件之
间的耦合性
D、spring增加了 Java ee开发中一些AP的使用难度
参考答案:B
2、以下有关 Spring的四个基础包说法正确的是()。
A、Spring的四个基础包,它们分别对应 Spring Web容器的四个模块
B、Spring的四个基础包有 spring-core RELEASE jar、spring- beans- RELEASE. jar、spring
context-. RELEASE. jarFAspring-aop RELEASE jar
C、spring- context.RELEASE jar是所有应用都要用到的AR包,它包含访问配置文件以及进行o或者D操作相
关的所有类
D、spring-core RELEASE. jar包含spring框架基本的核心工具类,Sng其它组件都要用到这个包里的类,是其它
组件的基本核心
参考答案:D
3、下列选项中,不属于Spring框架优点的是()。
A、提供强大的、可以有效减少页面代码的标签
B、声明式事务的支持
C、方便解耦、简化开发
D、方便集成各种优秀框架
参考答案:A
4、以下关于spring核心容器相关说法错误的是()
A、Spring框架的所有功能都是通过其核心容器来实现的
B、创建 BeanFactory实例时,需要提供 Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管
理
C、Applicationcontext不仅包含了 Bean Factory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支
持
D、通常在Java项目中,会采用通过 ClassPathXmlApplicationconte类来实例化 Applicationcontext容器的方式,
而在Meb项目中,App| cations。 ntext容器的实例化工作会交由Web服务器来完成
参考答案:A
5、下列有关 Spring框架的描述,错误的是()
A、Spring是 Java Web开发框架
B、Spring是轻量级框架
C、Spring是开源框架
D、Spring是持久层框架
参考答案:D
6、Spring的核心容器是其他模块建立的基础,以下哪个不是该容器的组成
模块()。
A、Beans模块
B、core模块
C、Context模块
D、AOP模块
参考答案:D
7、下列有关 Spring框架的描述,正确的有()
A、Spring是持久层框架
B、Spring是 Java Web开发框架
C、Spring是开源框架
D、Spring是一个重量级框架
参考答案:B,C
8、以下有关依赖注入相关说法正确的是()。
A、依赖注入(D)与控制反转(loC)的含义相同,只不过这两个称呼是从两个角度描述的同一个概念
B、在传统模式下,调用者通常会采用"new被调用者的代码方式来创建对象,这种方式会导致调用者与被调用者
之间的耦合性增加,不利于后期项目的升级和维护
C、在使用 Spring框架之后,控制权由应用代码转移到了 Spring容器,控制权发生了反转,这就是 Spring的控制反
转
D、从 Spring容器的角度来看, Spring容器负责将被依赖对象赋值给调用者的成员变量,相当于为调用者注入了依
赖的实例,这就是 Spring的依赖注入
叁考答案:A,B,C,D
9、Spring框架压缩包解压后的目录中内容说明正确的是()。
A、docs文件夹中包含 Spring的AP文档和开发规范
B、Ibs文件夹中包含开发需要的JAR包和源码
C、schema文件夹中包含开发所需要的 schema文件
D、spring. x pd仲中是使用手册
叁考答案:A,B,C
10、以下哪些属于 Spring框架模块()。
A、Core Container
B、Data Access/Integration
C、loC
D、Messaging
参考答案:A,B,D
11、Spring框架压缩包解压后的目录中中的JAR包说明正确的是()。
A、ibs目录中的JAR包分为三类
B、以 RELEASE. jar结尾的是 Spring框架cass文件的JAR包
C、以 RELEASE-javadoc ja结尾的是 Spring框架AP档的压缩包
D、以 RELEASE-sources ja结尾的是 Spring框架源文件的压缩包
参考答案:A,B,C,D
12、以下有关 Spring核心容器的说法正确的是()。
A、Spring框架提供了两种核心容器,分别为 Bean Factory和 ApplicationContext
B、Bean Factory由org. springframework. beans. factory. BeanFactory接口定义,是基础类型的ioC容器
C、BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用它们的生命周期方法
D、Application Context是 BeanFactory的子接口,也被称为应用上下文,是另一种常用的 Spring核心容器
参考答案:A,B,C,D
13、下列选项中,属于 Spring框架优点的有()。
A、方便解耦、简化开发
B、AOP编程的支持
C、方便集成各种优秀框架
D、声明式事务的支持
叁考答案:A,BC,D
14、Spring的核心容器是其他模块建立的基础,以下哪些属于该容器的组成
模块()。
A、Beans模块
B、Core模块
C、SpEL
D、AOP模块
参考答案:A,B,C
15、Spring的第一个版本是在2004年发布的()。
对
错
参考答案:对
16、通常在Java项目中,会采用通过 File SystemXmlApplication Context类来实例化 Application Context容器的方式()。
对
错
参考答案:错
7、Spring开发不需要任何第三方依赖包()。
对
错
参考答案:错
18、Spring中基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖()。
对
错
参考答案:对
9、Spring框架模块大体分为 Core container、Data access// Integration、Web、loc( Aspect Oriented Programming)、Instrumentation、Message和Test()
对
错
叁考答案:错
20、Spring是由 Rod johnson组织和开发的一个分层的 Javase/eE full-stack(一站式)轻量级开源框架()。
对
错
参考答案:对
21、Spring对服务器端三层体系架构的每一层都提供了技术支持()。
对
错
参考答案:对
22、在传统模式下,采用new被调用者的方式来创建对象会导致调用者与被调用者之间的耦合性增加,不利于后期项目的升级和维护()。
对
错
叁考答案:对
23、Spring配置文件的名称可以自定义,通常在实际开发中,都会将配置文件命名为 application Context. xm()。
对
错
参考答案:对
24、初学者学习spring框架时,只需将 Spring的4个基础包以及 commons-oggIng Jar复制到项目的b目录,并发布到类路径中即可()。
对
错
参考答案:对
25、Spring具有简单、可测试和松耦合等特点()。
对
错
参考答案:对
26、依赖注入(D)与控制反转(loC)的含义不同,描述的不是同—个概念()。
对
错
叁考答案:错
27、Spring框架可以和Ss2和 Hibernate框架进行整合()
对
错
参考答案:对
28、Spring不仅可以用于服务器端开发,也可以应用于任何Java应用的开发中()。
对
错
参考答案:对
29、Spring框架的 Beans模块提供了 spring框架的基本组成部分,包括loc和D功能()。
对
错
参考答案:错
30、在 Spring入门程序开发中,只需将 Spring的4个基础包以及 commons-oggIng的JAR包复制到目录中即可()
对
错
参考答案:对
31、依赖注入的作用就是在使用 Spring框架创建对象时,动态的将其所依赖的对象注入到Bean组件中()。
对
错
参考答案:对
32、Spring是一个轻量级的开源框架()
对
错
参考答案:对
33、Spring框架提供了两种核心容器,分别为 BeanFactory和 Application Context()。
对
错
参考答案:对
34、Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作
都交给 Spring容器管理,大大的降低了组件之间的耦合性()。
对
错
参考答案:对
35、Spring框架的主要功能是通过其核心容器来实现的()
对
错
参考答案:对
36、Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块
对
错
参考答案:对
第二章
1、以下有关Bean的 singleton作用域说法错误的是()。
A、prototype是 Spring容器默认的作用域
B、对需要保持会话状态的Bean(如suts2的 Action类)应该使用 prototype作用域
C、在使用 prototype作用域时, Spring容器会为每个对该Bean的请求都创建个新的实例
D、要将Bean定义为prototype作用域,只需在配置文件中将<bean>元素的 scope属性值设置为 prototype即可
参考答案:A
2、Spring的<bean>元素中的 autowire属性取值不包括以下()。
A、default
B、by Name
C、by Type
D、byld
参考答案:D
3、以下有关 Spring中Bean的作用域说法正确的是()。
A、Spring4.3中为Bean的实例定义了5种作用域
B、使用 prototype义的Bean在 Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指
向同一个对象
C、每次通过spring容器获取的 singleton定义的Bean时,容器都将创建个新的Bean实例
D、globalSession:在个全局的 Http Session中,容器会返回该Bean的同一个实例
参考答案:D
4、以下有关Bean的装配方式说法正确的是()。
A、Spring容器支持多种形式的Bean的装配方式,如基于ⅪML的装配、基于注解( Annotation)的装配和自动装配
(其中最常用的是基于XML的装配);
B、Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入;
C、在 Spring实例化Bean的过程中, Spring首先会调用Bean的默认构造方法来实例化Bean对象,然后通过反射的方式调用 setter法来注入属性值;
D、设值注入要求一个Bean必须提供一个有参构造方法并且为需要注入的属性提供对应的 setter方法。
参考答案:C
5、Spring容器支持多种形式的Bean的装配方式,不包括有()。
A、基于XML的装配
B、基于 properties的装配
C、基于注解( Annotation)的装配
D、自动装配
参考答案:B
6、Spring中定义了一系列的注解,以下有关其常用的注解说明错误的是
A、@Autowired用于对Bean的属性变量、属性的 setter方法及构造方法进行标注,配合对应的注解处理器完成Bean的自动配置工作,默认按照Bean的名称进行装配
B、@rEpository用于将数据访问层(DAO层)的类标识为 Spring中的Bean
C、@Service通常作用在业务层( Service层),用于将业务层的类标识为 Spring中的Bean
D、@Controllet通常作用在控制层(如 Spring M的 Controller),用于将控制层的类标识为 Spring中的Bean
叁考答案:A
注解:A:默认按照Bean的类型进行装配
7、下列选项中,不属于spring中实例化Bean的方式的是()。
A、构造器实例化
B、静态工厂方式实例化
C、实例工厂方式实例化
D、抽象方法实例化
参考答案:D
8、以下哪些不属于 Spring43版本中Bean的作用域()
A、application
B、request
C、response
D、globalSession
参考答案:C
9、以下有关 Spring中的Bean的相关说法正确的是()
A、Spring可以被看做是个大型工厂,这个工厂的作用就是生产和管理 Spring容器中的Bean
B、Spring-中最常使用的就是 Properties格式的配置方式,这种配置方式通过 Properties文件来注册并管理Bean之间的依赖关系
C、在 Spring中,XML配置文件的可以包含多个< beans>,< beans>中包含了多个<bean>子元素,每个<bean子元素定义了一个Bean
D、如果在Bean中末指定id和name,则 Spring无法获取Bean
参考答案:A
10、以下哪些属于实例化Bean的方式()。
A、构造器实例化
B、静态工厂方式实例化
C、实例工厂方式实例化
D、抽象方法实例化
参考答案:A,B,C
11、以下有关<bean>元素的 autowire属性值及说明正确的是()。
A、default:由<bean>的上级标签< beans>的 default- autowire属性值确定
B、byName:根据属性的名称自动装配。容器将根据名称査找与属性完全致的Bean,并将其属性自动装配
C、by Type:根据属性的数据类型(Type)自动装配,如果一个Bean的数据类型兼容另-个Bean中属性的数据类型,则自动装配
D、constructor:根据构造函数参数的数据类型,进行 byType模式的自动装配
参考答案:A,B,C,D
12、在 Spring配置文件中,Bean的作用域是通过<bean>元素的 scope属性
来指定的,该属性值可以设值包括有()。
A、request
B、response
C、session
D、application
参考答案:A,C,D
13、Spring中定义了一系列的注解,常用的注解有()
A、@Autowired
B、@Repository
C、@Service
D、@Controller
参考答案:A,B,C,D
14、以下有关<bean>元素的属性及子元素说明正确的是()。
A、id是个Bean的唯标识符, Spring容器对Bean的配置、管理都通过该属性来完成
B、name: Spring容器同样可以通过此属性对容器中的Bean进行配置和管理,name属性中可以为Bean指定多个名称,每个名称之间用逗号或分号隔开
C、class属性指定了Bean的具体实现类,它必须是一个完整的类名
D、scope用来设定Bean实例的作用域,其属性值有5种
参考答案:A,B,C
注解:D、scope用来设定Bean实例的作用域,其属性值有7种
15、以下有关Bean的 singleton作用域说法正确的是()。
A、singleton是 Spring容器默认的作用域
B、当Bean的作用域为 singleton时, Spring容器就只会存在一个共享的Bea实例
C、singleton作用域对于无会话状态的Bean(如Dao组件、Service组件)来说,是最理想的选择
D、Bean的作用域是通过<bean>元素的 scope属性来指定的,该属性值有7个值,对应7种作用域
参考答案:A,B,C,D
16、以下哪些属于 Spring4.3版本中为Bean作用域()。
A、singleton
B、prototype
C、request
D、application
参考答案:A,B,C,D
17、当Bean的作用域为 singleton时, Spring容器就只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean的id属性相匹配,就会返回同一个Bean实例()。
对
错
叁考答案:对
18、如果在Bean中未指定和name,则 Spring会将cass值当作id使用()
对
错
参考答案:对
19、Spring4.3版本中为Bean的实例定义了7种作用域()。
对
错
参考答案:对
20、构造器实例化是指 Spring容器通过Bean对应类中默认的无参构造方法来实例化Bean()。
对
错
参考答案:对
21、Spring中使用 prototype定义的Bean在 Spring容器中将只有一个实例, 也就是说,无论有多少个Bean引用它,始终将指向同一个对象()。
对
错
参考答案:错
22、Spring可以被看做是一个大型工厂,这个工厂的作用就是生产和管理Spring容器中的Bean。()。
对
错
参考答案:对
23、在配置文件中,通常一个普通的Bean只需要定义d(或name)和cass两个属性即可()。
对
错
参考答案:对
24、Spring提供了3种基于ⅩML的装配方式:设值注入、构造注入和属性注入()。
对
错
参考答案:错
25、singleton是 Spring 容器默认的作用域()。
对
错
参考答案:对
26、所谓自动装配,就是将一个Bean自动的注入到到其他Bean的 Property中()。
对
错
参考答案:对
27、静态工厂的方法来创建Bean实例,其class属性指定的同样是Bean实例的实现类,同时还需要使用 factory- method属性来指定所创建的静态工厂方法()。
对
错
参考答案:错
28、Bean的装配可以理解为依赖关系注入,Bean的装配方式即Bean依赖注入的方式()。
对
错
参考答案:对
29、在使用 prototype作用域时, Spring容器为每个对该Bean的请求都只创建一个实例()。
对
错
参考答案:错
30、对需要保持会话状态的Bean(如Sts2的Acon类)应该使用 prototype作用域()。
对
错
叁考答案:对
31、spring的<bean>元素中包含一个 autowire属性,我们可以通过设置autowire的属性值来自动装配Bean()。
对
错
参考答案:对
32、在 Spring中,要想使用容器中的Bean,也需要实例化Bean()。
对
错
叁考答案:对
33、实例工厂方式采用直接创建Bean实例的方式,同时在配置文件中,需要实例化的Bean是通过 factory-bean属性指向配置的实例工厂,然后使用 factory- method属性确定使用工厂中的哪个方法()。
对
错
叁考答案:对
34、singleton作用域对于无会话状态的Bean(如Dao组件、Service组件)来说,是最理想的选择()。
对
错
参考答案:对
35、实例化Bean有三种方式,分别为构造器实例化、静态工厂方式实例化和实例工厂方式实例化(其中最常用的是构造器实例化)()。
对
错
参考答案:对
36、prototype是 Spring容器默认的作用域()。
对
错
参考答案:错
37、使用基于基于 Annotation的装配可以较大程度上解决基于XML方式装配导致的配置文件臃肿和难以维护等问题()。
对
错
叁考答案:对
38、Spring容器支持XML和 Properties两种格式的配置文件,在实际开发中,最常使用的就是 Properties格式的配置方式。()
对
错
参考答案:错
39、@Component,注解用于描述 Spring中的Bean,它是一个泛化的概念,仅仅表示一个组件,并且可以作用在任何层次,使用时只需将该注解标注在相应方法上即可()。
对
错
参考答案:错
注解:使用时只需将该注解标注在相应类上即可()。
40、Spring容器支持多种形式的Bean的装配方式,如基于ⅩML的装配、基于注解( Annotation)的装配和自动装配(其中最常用的是基于XML的装配()。
对
错
参考答案:错
41、在 Spring中,XML配置文件的根元素是< beans>,< beans>中包含了多个<bean>子元素,每一个<bean>子元素定义了一个Bean,并描述了该 Bean如何被装配到 Spring容器中()。
对
错
参考答案:对
42、通过 Spring容器创建一个Bean的实例时,不仅可以完成Bean的实例化,还可以为Bean指定特定的作用域()。
对
错
参考答案:对
第三章
1、关于 Aspect.注解的介绍,说法错误的是()
A、@AspectE于定义一个切面
B、@Pointcut于定义切入点表达式
C、@Before用于定义前置通知,相当于 BeforeAdvice
D、@Afe用于定义后置通知,相当于 AfterReturningAdvice
叁考答案:D
2、以下不属于 Proxy Factory Bean类中的常用可配置属性的是()。
A、target
B、proxylnterfaces
C、targetclass
D、interceptorNames
参考答案:C
3、下列有关AOP专业术语中,用于指那些被拦截到的点的是()。
A、Joinpoint
B、Pointcut
C、Aspect
D、Advice
参考答案:A
4、以下有关CGLB代理相关说法正确的是()。
A、CGLB代理的使用非常简单,但它还有一定的局限性—使用动态代理的对象必须实现一个或多个接口
B、如果要对没有实现接口的类进行代理,那么可以使用JDK代理
C、CGLB是一个高性能开源的代码生成包,在使用时需要另外导入CGLB所需要的包
D、spring中的AOP代理,可以是JDK动态代理,也可以是CGLB代理
参考答案:D
5、下列有关AOP专业术语中,用于表示切面与程序流程的交叉点的是
A、Joinpoint
B、Pointcut
C、Aspect
D、Advice
参考答案:B
6、以下关于 Spring AOP的介绍错误的是()
A、AOP的全称是 Aspect-Oriented Programming,即面向切面编程(也称面向方面编程
B、AOP釆取横向抽取机制,将分散在各个方法中的重复代码提取出来,这种采用横向抽取机制的方式,采用ooP思想是无法办到的
C、虽然AOP是种新的编程思想,采取横向抽取机制,是ooP的升级替代品
D、目前最流行的AOP框架有两个,分别为 Spring AOP和 AspectJ
参考答案:C
7、以下哪种类型不是 Spring中的通知类型()。
A、异常通知
B、前置通知
C、后置通知
D、最终通知
参考答案:D
8、以下关于 Spring AOP的介绍正确的是()。
A、AOP的全称是 Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)
B、AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,然后在程序编译或运行时,再将这些提取出来的代码应用到需要执行的地方
C、虽然AOP是一种新的编程思想,但却不是OOP的替代品,它只是OOP的延伸和补充
D、目前最流行的AOP框架有两个,分别为 Spring AOP和 AspectJ
参考答案:A,B,C,D
9、以下关于 Proxy Factory Bean类中的常用可配置属性及说法正确的是
A、target:代理的目标对象
B、proxyInterfaces:代理要实现的接口
C、proxy Targetclass:是否对类代理而不是接口,设置为false时,使用CGLB代理
D、interceptorNames:需要织入目标的 Advice
参考答案:A,B,D
注解C:设置为true时,使用CGLB代理
10、以下有关 Spring中的通知类型及说法正确的是()。
A、MethodInterceptor:在目标方法执行前后实施増强,可以应用于日志、事务管理等功能
B、Method Beforeadvice:在目标方法执行前实施增强,可以应用于权限管理等功能
C、AfterReturningAdvice:在目标方法执行后实施增强,可以应用于关闭流、上传文件、删除临时文件等功能
D、ThrowsAdvice:在方法抛出异常后实施增强,可以应用于处理异常记录日志等功能
参考答案:A,B,C,D
11、以下有关基于XML的声明式 Aspect.及配置说法正确的是()。
A、基于XML的声明式 Aspect.是指通过XML文件来定义切面、切入点及通知,所有的切面、切入点和通知都必须定义在< aop: config>元素内
B、Spring配置文件中的< beans>元素下可以包含一个<ap:cong>元素,一个< aop: config>元素中可以包含属性和子元素
C、<aop: config>元素的子元素包括< aop pointcut>、<aop: advise和<aop; aspect>,在配置时,这3个子元素必须按照此顺序来定义
D、使用 AspectJ进行开发还需要导入 Aspect框架相关的JAR包
参考答案:A,C,D
12、以下术语 Spring AOP常用术语的有()。
A、Aspect
B、Joinpoint
C、Pointcut
D、Weaving
参考答案:A,B,C,D
13、Spring配置文件中的< beans>元素下可以包含多个< aop: config>元素,一个< aop: config>元素中可以包含属性和子元素其子元素包括<aop:pointcut>、< aop: advisor>和< aop :aspect>
对
错
参考答案:对
14、Spring中的AOP代理默认就是使用CGLB代理的方式来实现的()。
对
错
参考答案:错
15、AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,然
后再将这些提取出来的代码应用到需要执行的地方,是OOP的替代品
对
错
参考答案:错
16、AOP专业术语中, Target是指代理的目标对象()。
对
错
参考答案:对
17、Spring AOP使用纯Java实现,不需要专门的编译过程和类加载器,在运行期间通过代理方式向目标类织入增强的代码()。
对
错
参考答案:对
18、Spring中的通知按照在目标类方法的连接点位置,可以分为4种类型
对
错
参考答案:错
注解:可以分为5种类型
19、Aspect.是一个基于Java语言的AOP框架,它提供了强大的AOP功能
对
错
参考答案:对
20、CGLB代理的使用非常简单,但它还有一定的局限性—使用动态代理的对象必须实现一个或多个接口()。
对
错
参考答案:错
21、Aspect.是一个基于Java语言的AOP框架,从 Spring2.0开始, Spring AoP引|入了对 Aspect的支持, AspectJ扩展了Java语言,提供了一个专门的编译器,在编译时提供横向代码的织入()。
对
错
参考答案:对
22.目前最流行的AOP框架有两个,分别为 Spring AOP和 AspectJ.()。
对
错
参考答案:对
23、Proxy Factory Bean是 Factory Bean接口的实现类, Factory Bean负责实例化个Bean,而 Proxy Factory Bean负责为其他Bean创建代理实例
对
错
参考答案:对
24、在 Spring中,使用 Proxy Factory Bean是创建AOP代理的最基本方式
对
错
参考答案:对
25、在 Spring中,使用 Proxy Factory Bean是创建AOP代理的唯一方式()。
对
错
参考答案:错
26、如果要对没有实现接口的类进行代理,那么可以使用CGLB代理()。
对
错
参考答案:对
27、使用 Aspect.实现AOP有两种方式:一种是基于XML的声明式 Aspect.,另一种是基于注解的声明式 AspectJ()。
对
错
参考答案:对
28、如果在同一个连接点有多个通知需要执行,那么在同一切面中,目标方法之前的前置通知和环绕通知的执行顺序是未知的,目标方法之后的后置通知和环绕通知的执行顺序也是未知的()。
对
错
参考答案:对
29、Spring3.0以后, Spring aop引入了对 Aspect.的支持,并允许直接使用 Aspect.进行编程,而 Spring自身的 AOP AP也尽量与 AspectJ保持一致()。
对
错
参考答案:错
注解:Spring2.0以后
30、使用CGLB创建代理类,该代理类需要实现 MethodInterceptor接口,并实现接口中的 intercept)方法()
对
错
参考答案:对
31、AOP的全称是 Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)()。
对
错
参考答案:对
32、AspectJ框架中的注解@Afe用于定义最终fna通知,不管是否异常,该通知都会执行()
对
错
参考答案:对
33、AOP专业术语中,切面是指要对哪些 Joinpoint进行拦截()。
对
错
参考答案:错
34、Aspect.框架为AOP的实现提供了一套注解,用以取代 Spring配置文件中为实现AP功能所配置的臃肿代码()。
错
参考答案:对
35、cGLB是一个高性能开源的代码生成包,它采用非常底层的字节码技术,对指定的目标类生成一个子类,并对子类进行增强,在使用时需要另外导入CGLB所需要的包()。
对
错
参考答案:错
第四章
1、Spring JDBC模块主要由4个包组成,其中不包括()。
A、core(核心包)
B、data Source(数据源包)
C、driver class(数据库驱动包)
D、support(支持包)
叁考答案:C
2、Jdbc Template的直接父类是()
A、JdbcAccessor
B、JdbcOperations
C、Jdbc Supper
D、Object
参考答案:A
3、下面描述中,关于 query(方法说法错误的是()
A、List query( String sql, RowMapper rowMapper)会执行stng类型参数提供的sQL语句,并通过 RowMapper返回个st类型的结果
B、List query( String sq, Prepared StatementSetter pss, RowMapper rowMapper)会根据Stng类型参数提供的sQL语句创建 PreparedStatemen对象,通过 RowMapper将结果返回到List中
C、List query( String sql, ObjectI args, RowMapper rowMapper)会将args参数绑定到sQL语句中,并通过RowMapper回个object类型的单行记录
D、query ForDist( String sql, objectl args, class<T> elementType)可以返回多行数据的结果,但必须是返回列表, elementType参数返回的是List元素类型
参考答案:C
4、以下有关 Spring的JDBC模块说法错误的是()。
A、Spring的JDBC模块负责数据库资源管理和数据处理;
B、JDBC是 Spring数据访问集成中的重要模块;
C、Spring框架降低了包括JDBc的使用难度;
D、Spring JDBC的核心类是 Jdbc Template
参考答案:A
注解:A、Spring的JDBC模块负责数据库资源管理和错误处理;
5、Jdbc Template类包含在 Spring JDBC模块的哪个包中()
A、核心包
B、数据源包
C、对象包
D、支持包
叁考答案:A
6、下面关于 update(方法描述错误的是()
A、update(方法可以完成插入、更新、删除和查询数据的操作
B、在 JDbc Template类中,提供了一系列的 update(法
C、update方法执行后,会返回受影响的行数
D、update(方法返回的参数是n类型
参考答案:A
7、以下有关 Spring配置文件中 data Source数据源配置时的属性说明正确的
是()。
A、driver className:所使用的驱动名称,对应驱动JAR包中的Diver类
B、url:数据源所在地址
C、username:访问数据库的用户名
D、password:访问数据库的密码
参考答案:A,B,C,D
8、根据测试目的的不同,可以将软件测试分为()
A、单元测试
B、集成测试
C、确认测试
D、系统测试
参考答案:A,B,C,D
9、Spring JDBC模块core包中包含的类有()
A、Jdbc Template
B、SimpleJdbcInsert
C、Simple Jdbc call
D、NamedParameterJdbc Template
参考答案:A,B,C,D
10、以下 Spring JDBC模块的主要包及说明正确的是()。
A、core:包含了JDBC的核心功能
B、data Source:访问数据源的实用工具类
C、object:以面向对象的方式访问数据库
D、support:包含了core和 data Source包的支持类
参考答案:AB,C
注解:D、support:包含了core和 object包的支持类
11、以下有关 Jdbc template中常用的 query(方法说法正确的是()
A、List query( String sq, RowMapper rowMapper)执行 String类型参数提供的sQ语句,并通过R。 WApper返回一个List类型的结果
B、List query( String sql, ObjectI args. RowMapper rowMapper)使用obec的值来设置SQL语句中的参数值采用 RoWMappe回调方法可以直接返回Lis类型的数据
C、queryForobject(String sql, RowMapper rowMapper, Object.args)将args参数绑定到sαL语句中,并通过RowMappet返回个obje类型的单行记录
D、queryForList( String sq, Object[ args, class< T> element Type)该方法可以返回多行数据的结果,但必须是返回列表, elementType参数返回的是List元素类型。
叁考答案:A,B,C,D
12、以下有关 Jdbc Template类中常用的 update(方法说明正确的是()。
A、int update(String sq):该方法是最简单的 Update方法重载形式,它直接执行传入的sql语句,并返回受影响的行数
B、int update(PreparedStatement creator psc):该方法执行从 PreparedStatement creato返回的语句,然后返回受影响的行数
C、int update (String sql, PreparedStatement Setter pss):该方法通过 PreparedStatementsette设置sQ语句中的参数,并返回受影响的行数
D、int update( String sql, Object.args)该方法使用 Object.设置sQL语句中的参数,要求参数不能为NUL,并返回受影响的行数
叁考答案:A,B,C,D
13、以下关于 Spring框架中 Jdbc Template的说法正确的是()。
A、针对数据库的操作, Spring框架提供了 Jdbc Template类
B、Jdbc Template类是 Spring JDBC的核心类
C、Jdbc Template继承自抽象类 JdbcAccessor,同时实现了 Jdbcoperations接口
D、Jdbcoperations接口定义了在 Jdbc Template类中可以使用的操作集合,包括添加、修改、查询和删除等操作
参考答案:A,B,C,D
14、SpringJDBO中的更新和插入操作设置的参数相同,只是执行SQL语句不同。
对
错
参考答案:错
15、Jdbc Template类中的 update(方法可以完成查询、插入、更新和删除数据的操作()。
对
错
参考答案:错
16、在使用 Jdbc Template进行单个查询和集合查询时,封装的 RowMapper对象方法一样。
对
错
参考答案:对
17、Jdbc Template类中还提供了大量的 query(方法来处理各种对数据库表的查询操作()。
对
错
参考答案:对
18、Spring的JDBC模块负责数据库资源管理和错误处理()。
对
错
参考答案:对
19、定义 jdbc Template时,需要将 data Source注入到 dbc Template中()。
对
错
参考答案:对
20、Spring JDBC模块主要由4个包组成,分别是core(核心包)、data source(数据源包)、object(对象包)和 support(支持包)()。
对
错
叁考答案:对
21、在 Jdbc Template类中 execute( String sql方法能够完成执行SQL语句的功能()。
对
错
参考答案:对
22、Jdbc Template类中的 Jint update( String sq方法是最简单的 update方法重载形式,它直接执行传入的SQL语句,并返回受影响的行数()。
对
错
参考答案:对
23、Jdbc Template类的继承关系十分简单。它继承自抽象类 JdbcAccessor,同时实现了 JdbcOperations接口()。
错
参考答案:对
24、在 Jdbc Template类中,提供了大量的更新和查询数据库的方法,我们就是使用的这些方法来操作数据库的()。
错
叁考答案:对
25、在使用Jun进行单一测试时,Jn视图窗口的进度条为绿色表明运行结果正确;如果进度条为红色则表示有错误,并且会在窗口中显示所报的错误信息()。
对
错
参考答案:对
26、Jdbc Operations接口定义了在 Jdbc Template类中可以使用的操作集合,包括添加、修改、查询和删除等操作()
对
错
参考答案:对
27、Jdbc Template类中的 List query( String sql, RowMapper rowMapper)执行 String类型参数提供的SQL语句,并通过 RowMapper返回一个Lis塽类型的结果()。
对
错
叁考答案:对
第五章
1、以下关于<tx: method>元素的属性描述错误的是()。
A、name属性为可选属性,它指定了与事务属性相关的方法名
B、propagation用于指定事务的传播行为,默认值为 REQUIRED
C、isolation)用于指定事务的隔离级别,其默认值为 DEFAULT
D、read-only用于指定事务是否只读,其默认值为false
参考答案:A
2、以下有关事务管理方式相关说法错误的是()。
A、Spring中的事务管理分为两种方式:一种是传统的编程式事务管理,另种是声明式事务管理
B、编程式事务管理:是通过AOP技术实现的事务管理,就是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚
C、声明式事务管理:其主要思想是将事务管理作为一个“切面代码单独编写,然后通过AP技术将事务管理的切面代码植入到业务目标类中
D、声明式事务管理最大的优点在于开发者无需通过编程的方式来管理事务,只需在配置文件中进行相关的事务规则声明,就可以将事务规则应用到业务逻辑中
参考答案:B
3、下列选项中,哪一个不是 Spring中事务管理的核心接口()
A、PlatformTransactionManager
B、Transaction Definition
C、Transaction status
D、TransactionManager
参考答案:D
4、以下有关 Spring事务管理及核心接口说法错误的是()。
操作
A、PlatformTransaction Manager接口是spring提供的平台事务管理器,主要用于管理事务
B、Transaction Definition接口是事务定义(描述)的对象,该对象中定义了事务规则,并提供了获取事务相关信息的方法
C、Transaction Status接口是事务的状态,它描述了某一时间点上事务的状态信息
D、在事务管理过程中,传播行为可以控制是否需要创建事务以及如何创建事务,通常情况下,对于数据的查迿插入、更新和删除操作,必须进行事努管理
参考答案:D
5、以下基于XML方式的声明式事务管理配置文件中<tx: advice>元素的子元
素< tx method>属性描述错误的是()。
A、name:该属性为必选属性,它指定了与事努属性桕关的方法名
B、propagation:用于指定事务的传播行为,它的默认值为 SUPPORTS
C、isolation:该属性用于指定事务的隔离级别,其默认值为 DEFAULτ
D、read-only:该属性用于指定事务是否只读,其默认值为lse
参考答案:B
6、以下关于@Transactiona注解可配置的参数信息及秒正确的是()。
A、value用于指定需要使用的事务管理器,默认为””;
B、read-only用于指定事务是否只读,默认为true;
C、isolation用于指定事务的隔离级别,默认为 Isolation READ COMMITTED;
D、propagation用于指定事务的传播行为,默认为 Propagation. SUPPORTS;
参考答案:A
7、以下有关 Spring中 Transaction Status接口的方法及说明错误的是()
A、Flush(刷新事务
B、isCompleted()取事务是否完成
C、isNewTransaction()取是否是新事务
D、setFallbackonly()设置事务回滚
参考答案:D
8、PlatformTransaction Manager接口常见的几个实现类有()。
A、Data Source TransactionManager
B、Hibernate TransactionManager
C. batisTransaction Manager
D、Jta Transaction Manager
参考答案:A,B,D
9、以下属于基于XML方式的声明式事务管理配置文件中<: advice>元素的
子元素 tx method>的属性有()
A、name
B、propagation
C、isolation
D、read-ony
参考答案:A,B,C,D
10、以下哪些属于< tx: method>元素中的常用属性()。
A、name
B、propagation
C、isolation
D、timeout
参考答案:A,B,C,D
11、以下哪些属于@Transactiona脏注解的可配置参数()。
A、vale
B、transactionManager
C、isolation
D、propagation
参考答案:A,B,C,D
12、Transaction Definition接口提供的获取事务相关信息的方法有()。
A、getNameO
B、getlsolationLevel0
C、getPropagation Behavior
D、setTimeout0
参考答案:A,B,C,D
13、Platform TransactionManager接口中操作事务的方法有 getTransaction(0)、commit()和 fallback方法。
对
错
参考答案:错
14、基于XML方式的声明式事务管理是通过在配置文件中配置事务规则的相关声明来实现的()。
对
错
参考答案:对
15、Spring的声明式事务管理还可以通过 Annotation(注解)的方式来实现,这种方式的使用非常简单()。
对
错
参考答案:对
16、< tx method>元素的属性 timeou用于指定事务超时的时间,其默认值为1,即永不超时。
错
参考答案:对
17、Spring的事务管理简化了传统的事务管理流程,并且在一定程度上减少了开发者的工作量()。
对
错
参考答案:对
18、对数据库数据的插入、更新、删除和查询操作,都必须进行事务管理。
对
错
参考答案:错
19、基于XML方式的声明式事务管理是通过在配置文件中配置事务规则的相关声明来实现的。()
对
错
参考答案:对
20、Spring的声明式事务管理可以通过两种方式来实现,一种是基于XML的方式,另—种是基于 Annotation的方式()。
对
错
参考答案:对
21、编程式事物管理:是通过AoP技术实现的事务管理()。
对
错
参考答案:错
注解:声明式事物管理:是通过AoP技术实现的事务管理
22、注解@Transactional与< tx method>元素中的事务属性基本是对应的,并且其含义也基本相似。
对
错
参考答案:对
23、spring配置文件的名称可以自定义,通常在实际开发中,都会将配置文件命名为 applicationContext. xm()。
对
错
参考答案:对
24、初学者学习 Spring框架时,只需将 Spring的4个基础包以及 commons-ogging. Jar复制到项目的b目录,并发布到类路径中即可()。
错
参考答案:对
25、Spring具有简单、可测试和松耦合等特点()
对
错
叁考答案:对
26、依赖注入(D)与控制反转(loC)的含义不同,描述的不是同一个概念()。
对
错
参考答案:错
27、Spring框架可以和Ss2和 Hibernate框架进行整合()
对
错
参考答案:对
28、Spring不仅可以用于服务器端开发,也可以应用于任何Jav应用的开发中()。
错
参考答案:对
2、Spring框架的 Beans模块提供了 spring框架的基本组成部分,包括lo和D功能()。
对
错
参考答案:错
30、在 Spring入门程序开发中,只需将 Spring的4个基础包以及 commons-oggIng的JAR包复制到目录中即可()。
错
参考答案:对
31、依赖注入的作用就是在使用 Spring框架创建对象时,动态的将其所依赖的对象注入到Bean组件中()。
对
错
参考答案:对
32、Spring是一个轻量级的开源框架()
对
错
参考答案:对
33、Spring框架提供了两种核心容器,分别为 Bean Factory和 ApplicationContext()。
对
错
参考答案:对
34、Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给 Spring容器管理,大大的降低了组件之间的耦合性()。
对
错
参考答案:对
35、Spring框架的主要功能是通过其核心容器来实现的()。
对
错
参考答案:对
36、Spring框架釆用的是分层架构,它一系列的功能要素被分成20个模块
对
错
参考答案:对
1、My Batis框架下载并解压后,有关 mybatis-3x的文件夹内容说明正确的是()。
A、|b文件下就属于 MyBatis框架开发的所有JAR包
B、mybatis3Wrd属于 My Batist使用手册
C、其中 mybatis-3xar属于 MyBatis核心包
D、以上说发都错误
叁考答案:C
2、My Batis的删除操作有关说发错误的是()。
A、MyBatis的删除操作在映射文件中是通过配置<deee>元素来实现的
B、MyBatis的删除操作也需要进行事务提交
C、My Batish的删除操作执行了 Sqlsession的oete(方法
D、My Batis的删除操作和添加操作时,也需要封装整个实体类
叁考答案:D
3、有关 My Batis工作原理说法错误的是()。
A、MyBatis的全局配置文件配置了 MyBatis的运行环境等信息,其中主要内容是获取数据库连接
B、MyBatis映射文件中配置了操作数据库的SQL语句,需要在 My Batish的全局配置文件中加载才能执行
C、可以通过 My Batis的环境等配置信息构建会话对象 Sqlsession
D、Sqlsessior对象,该对象中包含了执行SQL的所有方法
参考答案:C
4、My Batis的更新操作有关说发错误的是()
A、MyBatis的更新操作在映射文件中是通过配置 <update>元素来实现的
B、MBas的更新操作也需要进行事务提交
C、MBas的更新操作执行了 Sqlsession的 update方法
D、My Batis的更新操作和添加操作时,只需要将 insert()法改为 updat(方法即可
参考答案:D
5、关于 MyBatis模糊查询中进行SQL字符串拼接时,说法错误的是()。
A、使用5进行SQL字符串拼接时,无法防止sL注入问题
B、可以使用MSQL中的 Concat函数进行字符串拼接
C、使用 MySQL中的 conca函数进行字符拼接,也无法防止soL注入
D、使用MsL中的 conca函数进行字符串拼接,导致数据库移植性变差
叁考答案:C
6、使用ORM框架后,应用程序不再直接访问底层数据库,而是以()的
方式来操作持久化对象(PO,即 Persisent object)。
A、面向业务
B、Hibernate
C、面向对象
D、My Batis
叁考答案:C
7、My Batis框架对比与 Hibernate框架的说明正确的是()。
A、使用 My Batis手动编写SQL要比使用 Hibernate的工作量大
B、MyBatis可以配置动态SQL并优化sQL
C、My Batis更新数据时,需要发送所有字段;不支持存储过程
D、对于些复杂的和需要优化性能的项目来说,使用 My Batis更加合适
叁考答案:A,B,D
8、在 MyBatis框架官网下载地址有几个下载链接,关于这三个下载链接说
明正确的是()。
A、mybatis-3xzip是 windows系统下 MyBatis框架的压缩包
B、myatt3. x. tar. zip是 Linux系统下 MyBatis框架的压缩包
C、Source code(zip)是 windows系统下 MyBatis框架的源码包
D、Source code( tar.gz)是Lnux系统下 MyBatis框架的源码包
参考答案:A,C,D
9、Mapped Statement对象会对用户执行SQL语句的输入参数进行定义,这
些参数类型可以是()。
A、Map
B、Lis类型
C、基本类型
D、POJo类型
参考答案:A,B,C,D
10、入门程序中 My Batis的全局配置文件中主要编写的内容有()
A、数据库环境配置
B、JDBC事务管理
C、映射文件路径配置
D、缓存插件配置
叁考答案:A,B,C
11、My Batis入门程序中添加操作有关说法正确的是()。
A、在 My Batis的映射文件中,添加操作是通过 <insert>元素来实现的
B、在 MyBatis的映射文件中,添加操作的 parametertype必须是PO类型
C、在 MyBatis添加操作使用了 Sqlsession的ad(方法
D、在 My Batis添加操作需要进行事务提交
参考答案:A,D
12、My Batis是—个全表映射的框架,通常开发者只需定义好持久化对象到数据库表的映射关系,就可以通过 My Batis提供的方法完成持久层操
作。
对
错
参考答案:错
13、My Batis映射文件中< mappers>元素是配置文件的根元素,它包含个namespace属性,该属性为这个< mapper>指定了唯一的命名空间()
对
错
参考答案:错
14、My Batis(前身是jats)是一个支持普通SQL查询、存储过程以及高级映射的持久层框架。
对
错
参考答案:对
15、My Batis的删除操作也需要进行事务提交()。
对
错
叁考答案:对
16、My Batis的删除操作在映射文件中是通过配置< delete>元素来实现的
对
错
参考答案:对
17、创建数据库的语句如下: CREATE DATABASES mybatis;()。
对
错
参考答案:错
18、My Batis的更新操作也需要进行事务提交()
对
错
参考答案:对
19、在 My Batis的映射文件中,添加操作是通过<add>元素来实现的()。
对
错
叁考答案:错
20、My Batis映射文件中配置了操作数据库的SQL语句,需要在 My Batis的全局配置文件 mybatis- config. xm中加载才能执行。 mybatis-config xm可以加载多个配置文件,每个配置文件对应数据库中的张表()。
对
错
叁考答案:对
21、My Batis的更新操作在映射文件中是通过配置 update元素来实现的
对
错
参考答案:对
22、My Batis的最近版本是 mybatis-3X系列的,本书所讲解的 MyBatis框架就是基于此版本的,可以通过网址"https://githuB、com/mybatis/mybatis3rleases"下载得到。
对
错
叁考答案:对
23、使用 My Batis框架非常简单,只需在应用程序中引入 My Batis的核心包和ib目录中的依赖包即可进行项目运行()。
对
错
参考答案:错
24、My Batis的全局配置文件,通常配置了 My Batis的运行环境等信息,其中主要内容是获取数据库连接()。
对
错
叁考答案:对
25、使用 My Batis框架非常简单,只需在应用程序中引入 MyBatis框架目录中的全部JAR包以及数据库驱动包即可进行项目运行()。
对
错
参考答案:错
26、My Batis入门程序中进行添加操作时不会有返回值()。
对
错
参考答案:错
27、创建的映射文件中的SQL语句要以面向对象的写法进行书写()。
对
错
参考答案:错
28、ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述Java对象与数据库表之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中()。
对
错
叁考答案:对
1、以下关于< select>元素及其属性说法错误的是()
A、<seec>元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组装数据给业务开发
人员
B、 parameterType属性表示传入SQL语句的参数类的全限定名或者别名
C、 resultMap表示外部 resultMap的命名引用,返回时可以同时使用 resultType和 resultMap
D、在同一个映射文件中可以配置多个< select元素
参考答案:C
2、以下有关 My Batis映射文件中< insert>元素说法正确的是()
A、< insert>元素用于映射插入语句,在执行完元素中定义的SQL语句后,没有返回结果
B、< insert>元素的属性与< select元素的属性相同
C、 key Column属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置
D、 use GeneratedKeys(仅对 insert有用)此属性会使 My Batis使用JDBc的 getGenerated Keys0
方法来获取由数据库内部生产的主键
参考答案:C
3、有关 My Batis配置文件中< settings>元素的说法错误的是()
A、< settings>元素主要用于改变 My Batis运行时的行为,例如开启二级缓存、开启延迟加载等
B、虽然不配置< settings>元素,也可以正常运行 My Batis,但是熟悉< settings>的配置内容以及它们
的作用还是十分必要的
C、< settings>元素中延迟加载的全局开关的参数 lazy Enabled默认开启
D、< settings>元素的配置内容大多数都不需要开发人员去配置它,通常在需要时只配置少数几项即可
参考谷案:C
4、以下有关<sq>元素说法错误的是()
A、<sq>元素的作用就是定义可重用的soL代码片段,然后在其他语句中引用这一代码片段
B、使用< nclude>元素的refd属性可以引用自定义的代码片段
C、使用< include>元素refd的属性值为自定义代码片段的name
D、<sq元素是< mapper>元素的子元素
参考答案:C
5、关于< typeHandlers>元素说法错误的是
A、< typeHandler>元素就是用来在配置文件中注册自定义的类型处理器的,它的使用方式有两种
B、通过< ypeHandlers>元素的子元素< typeHandle就可以配置单个类型处理器
C、通过< typeHandlers>元素的子元素< package>可以配置包下的所有类型处理器
D、< typeHandlers>元素的子元素 package>的 handler属性用于指定类型处理器所在的包名,系统会
在启动时自动的扫描 com. itheima type包下所有的文件,并把它们作为类型处理器
参考答案:D
6、关于 My Batis配置文件中< typeAliases>元素说法错误的是()
A、可以通过在 My Baits中配置< typeAliases>元素来定义别名
B、 My Baits配置文件中< type Aliases>元素的子元素< type Alias>需要配置type和aias属性
C、可以通过在类名上使用@Aias(vaue="user)的形式定义别名
D、同时在 MyBaits中配置了< typeAliases>元素以及@ Alias( value="user")注解定义别名后,会以注
解形式的别名为准
参考答案:B
7、以下有关 SqlSession Factory的说法正确的是()
A、 SqlSession Factory是 MyBatis框架中十分重要的对象,其主要作用是创建 Sqlsession
B、 SqlSession Factory对象的实例可以通过 SqlSession Factory Builder对象来构建
C、Sq| Session Factory对象是线程安全的,它一旦被创建,在整个应用执行期间都会存在
D、通常每一个数据库都会只对应一个Sq| Session Factory,所以在构建 SqlSession Factory实例时,
建议使用单列模式
参考答案:ABCD
8
为了方便转换, MyBatis框架提供了一些默认的类型处理器,包括有()。
A、 BooleanTypeHandler
B、 nteger TypeHandler
C、 FloatTypeHandler
D、 Date TypeHandler
参考答案:AB、C、D
9、关于< environments>元素及其子元素的说法正确的是()
A、在配置文件中,< environments>元素用于对环境进行配置
B、在< envronments>元素中可以配置1个< environment>子元素,包含事务管理和数据源的配置信息
C、< environment>的子元素< data Source>用于配置数据源,它的type属性用于指定使用哪种数据源
D、可以通过< environments>元素配置多种数据源,对于数据源的配置, My Batis框架提供了
UNPOOLED、 POOLED和JND三种数据源类型
参考答案:A、C、D
10、在配置文件中,< mappers>元素用于指定 My Batis映射文件的位置,一般可以使用以下哪些方法引
入映射器文件()
A、使用本地类路径引入
B、使用本地文件路径引入
C、使用接口类引入
D、使用包名引入
参考答案:A、B、CD
11、 My Baits配置文件中的主要元素包括以下()
A、< properties>元素
ww. lddoc cn
B、< settings>元素
C、 <environments>元素
D、< mappers>元素
参考答案:A、BC、D
12、关于类型处理器 typeHandler的说法正确的是()
A、 typeHandler的作用就是将预处理语句中传入的参数从 javaType(Java类型)转换为
jdbcType(JDBC类型),或者从数据库取出结果时将 jdbcType转换为 javaType
B、为了方便转换, My Batis框架提供了一些默认的类型处理器
C、还可以通过自定义的方式对类型处理器进行扩展(自定义类型处理器可以通过实现 TypeHandler
接口或者继承 BaseTypeHandle类来定义)
D、< typeHandler>元素就是用来在配置文件中注册自定义的类型处理器的,它的使用方式有两种
参考答案:ABC、D
13、有关 My Batis配置文件中< properties>元素的说明正确的是()
A、< properties>是一个配置属性的元素,该元素通常用来将内部的配置外在化,即通过外部的配置来
动态的替换内部定义的属性
B、通常可以使用< properties>元素的 resource属性引入外部常量配置文件
C、除了可以使用 properties>元素的 resource属性引入外部常量配置文件,还可以通过< properties>
元素的子元素< property>来获取属性值
D、使用 properties配置文件来配置属性值可以方便地在多个配置文件中使用这些属性值,并且方便
日后的维护和修改
参考答案:A、B、C、D
14、
sresultMap>是 My Batis映射文件中最重要也是最强大的元素,包含了一些子元素主要有()
A、<id>
B、< result/>
C、 <association property="p>
D、 <collection property
y=”
参考答案: A、B、 C、D
15、有关 My Batis中对象工厂 ObjectFactory的说法错误的是()
A、 My Batis框架每次创建结果对象的新实例时,都会使用一个对象工厂( ObjectFactory)的实例来
完成
B、 My Batis中默认的 ObjectFactory的作用就是实例化目标类,它只可以通过默认构造方法实例化
C、想要实例化目标类,就要通过自定义 ObjectFactory,然后进行配置来实现
D、在配置文件中使用< objectFactory>元素可以配置自定义的 ObjectFactory
参考答案:B、C
16、有关< resultMap>元素相关说法正确的是()
A、< resultMap>元素的主要作用是定义映射规则、级联的更新以及定义类型转化器等
B、当数据表中的列和对象的属性不一致时,此时就可以使用< cresultMap>元素进行处理
C、< cresultMap>元素中的< association>和< collection>用于处理多表时的关联关系
D、以上都正确
参考答案:AB、CD
17、关于 My Batis配置文件中< typeAliases>元素说法正确的是()
A、< typeAliases>元素用于为配置文件中的Java类型设置一个简短的名字,即设置别名
B、< typeAliases>元素的子元素< type Alias>中的type属性用于指定需要被定义别名的类的全限定名
alias属性的属性值就是自定义的别名
C、如果省略< typeAliases>元素的 alias属性, MyBatis会默认将类名作为别名
D、也可以通过在类名上使用@ Alias(value="user)的形式定义别名
参考答案:AB、D
18、My Batis映射文件中< insert>的< selectKey>子元素可以设置以下几种属性()。
A、 key Property
B、 resultType
C、 statementType
D、 order
参考答案:AB、C、D
19、 MyBatis映射文件中主要元素包括()
A、<select>
B、<update>
C、<sql>
D、<resultType>
参考答案:A、BC
20、以下有关 Sqlsession的说明正确的是()
A、 SqlSession是 My Batis框架中另一个重要的对象,其主要作用是执行持久化
B、每一个线程都应该有一个自己的 Sqlsession实例,并且该实例是不能被共享的
C、 Sqlsession实例也是线程不安全的,因此其使用范围最好在一次请求或一个方法中
D、使用完 Sqlsession对象之后,要及时的关闭它,通常可以将其放在fnay块中关闭
参考答案:A、B、C、D
21、My Baits映射文件中< select>元素的常用属性包括有()
A、 flush Cache
B、 parameter Type
C、 resultType
D、 useCache
参考答案:AB、C、D
22、使用< nclude>元素的refd属性可以引用自定义的代码片段,refd的属性值为自定义代码片段的name
对
错
参考答案:错
23、My Batis框架提供了许多默认别名,由于别名不区分大小写,所以在使用时要注意重复定义的覆盖问题()。
对
错
参考答案:对
24、在映射文件中,< mappers>元素是映射文件的根元素,其他元素都是它的子元素()
对
错
参考答案:错
25、 SqlSession Factory是 My Batis框架中十分重要的对象,它是单个数据库映射关系经过编译后的内存镜像,其主要作用是创建 SqlSession()
对
错
参考答案:对
26、 Sqlsession是 My Batis框架中另一个重要的对象,它是应用程序与持久层之间执行交互操作的一个单线程对象,其主要作用是执行持久化操作()
错
参考答案:对
27、<update>和<delete>元素的使用比较简单,它们的属性配置也都相同()
错
参考答案:错
答案解析:属性配置不完全相同
28、<select>元素属性 resultType表示从SQL语句中返回的类型的类的全限定名或者别名。如果是集合类型,那么返回的应该是集合可以包含的类型,而不是集合本身()。
对
错
参考答案:对
29、映射文件中可以包含多个旧d值相同的< resultMap>元素()
对
错
参考答案:错
30、 My Batis映射文件中< nsert>中配置了子元素< selectKey>后,< selectKey>会首先运行,它会通过自定义的语句来设置数据表中的主键()
对
错
参考答案:对
31、<typeAliases>元素用于为配置文件中的Java类型设置别名,其使用的意义在于减少全限定类名的冗余()
对
错
参考答案:对
32、与<insert>元素一样,<update>和<delete>元素在执行完之后,也会返回一个表示影响记录条数的整数()
对
错
参考答案:对
33、<configuration>的子元素必须按照指定的顺序进行配置,否则 My Batis在解析XL配置文件的时候会报错()
对
错
参考答案:对
34、 My Batis允许在己映射语句执行过程中的某一点进行拦截调用,这种拦截调用是通过插件来实现的。< plugins>元素的作用就是配置用户所开发的插件()
对
错
参考谷案:对
答案解析:
35、<resultMap>的子元素<association>和<collection>用于处理多表时的关联关系()。
错
参考答案:对
36、<resultMap>元素表示结果映射集,是 My Batis中最重要也是最强大的元素。它的主要作用是定义映射规则、级联的更新以及定义类型转化器等()
对错
参考答案:对
37、 My Batis映射文件中< insert>元素用于映射插入语句,在执行完元素中定义的SQL语句后,没有返回结果()
对错
参考谷案:错
38、 My Baits映射文件中<sq>元素的作用就是定义可重用的SQL代码片段,然后在其他语句中引用这一代码片段()
对
错
参考答案:对
39、在 My Batis框架的核心配置文件中,< configuration>元素是配置文件的根元素,其他元素都要在< configuration>元素内配置()
对
错
参考答案:对
40、如果项目中使用的SsM整合开发,就需要在 My Batis中配置事务管理器,而在 Spring中进行数据源配置()
对
错
参考答案:错
41、
< settings>元素中的配置参数 cacheEnabled用于影响所有映射器中配置的缓存
全局开关,默认值为 false()。
对错
参考谷案:错
42、< settings>元素主要用于改变 My Batis运行时的行为,例如开启二级缓存、开启延迟加载等
对
错
参考答案:对
43、< typeHandlera>元素就是用来在配置文件中注册自定义的类型处理器的()
对
错
参考答案:对
44、< properties>是一个配置属性的元素,该元素通常用来将内部的配置外在化,即通过外部的配
置来动态的替换内部定义的属性()
对错
参考答案:对
45、Sq| Session Factory对象是线程安全的,它一旦被创建,在整个应用执行期间都会存在()。
对
错
参考答案:对
46、在 MyBatis配置文件中< settings>元素的作用十分重要,所以必须要掌握并进行配置,否则会
影响 My Batis的正常运行()
对错
参考答案:错
47、 My Batis映射文件中< mapper>的子元素必须按照指定的顺序进行配置,否则 My Batis在解析
XML映射文件的时候会报错()
对
错
参考答案:错
48、除了可以像上述通过外部配置文件来定义属性值外,还可以通过配置 properties>元素的子元
素< property>,以及通过方法参数传递的方式来获取属性值()
对
错
参考答案:对
49、 My Batis中默认的 ObjectFactory的作用就是实例化目标类,它既可以通过默认构造方法实例
化,也可以在参数映射存在的时候通过参数构造方法来实例化()
对错
参考答案:对
50、Sq| Session实例也是线程安全的,可以将其放在一个类的静态字段、实例字段或任何类型的管
理范围(如 Servlet的 Httpsession)中使用()
错
参考谷案:错
51、
My Batis映射文件中< select>元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组
装数据给业务开发人员()。
对错
参考答案:对
52、
My Batis映射文件的<nse>元素的属性与< select>元素的属性大部分相同,但还包含了3个特有属
性()。
对
错
参考答案:对
53、在配置文件中,≤ environments>元素用于对环境进行配置。 MyBatis的环境配置实际上就是数
据源的配置,我们可以通过< environments>元素配置多种数据源,即配置多种数据库()
对错
参考答案:对
每一个线程都应该有一个自己的 Sqlsession实例,并且该实例是不能被共享的
()
对
错
参考答案:对
1、以下关于 My Batis的<set>元素的使用及说法正确的是()
A.<set>元素主要用于更新操作,其主要作用是在动态包含的sQL语句前输出一个sET关键字,并将SQL语句中最后一个多余的
逗号去除
B、使用 My Batis的<set>元素来更新操作时,前端需要传入所有参数字段,否则未传入字段会默认设置为空
C、在映射文件中使用<set>和<元素组合进行 update语句动态sQL组装时,<set>元素内包含的内睿可以都为空,←元素会进
行判断处理
D、在映射文件进行更新操作时,只需要使用<set>元素就可以进行动态sQL组装
参考答案:A
2、当有多个选择的情况是,值需要从多个选项中选择—个去执行时,可以使用的动态sαL元素
是()
A、<if
B、< choose>、<when>、< otherwise>
C、<hen>
D、<set>
参考答案:B
3、sQL语句中, where后直接跟anD、这在运行时肯定会报()错误
A、sQL语法
B、无效字符
C、参数异常
D、 MySQL版本
参考答案:A
4、以下不属于<oreach>元素中使用的属性的是()。
A、 separator
B、 collection
ooo
C、 current
D、item
参考答案:c
5、以下有关 MyBatis动态sL中的主要元素说法错误的是()
A、<f用于单条件分支判断
B、< choose>(<when>、< otherwise>)用于多条件分支判断
C、< foreach>循环语句,常用于in语句等列举条件中
D、<bnd从OGNL表达式中创建一个变量,并将其绑定到上下文,只于模糊查询的sq中
参考答案:D
6、以下关于← foreach>元素中使用的几种属性的描述错误的是()
A、tem:配置的是循环中当前的元素
B、 index:配置的是当前元素在集合的位置下标
c. collection:配置的是传递过来的参数类型,它可以是一个aray、lst(或 collection)、Map集合的键、P。J包装类中数组或
集合类型的属性名等
D、 separator:配置的是各个元素的间隔符
参考答案:c
7、以下关于 My Batis动态saL中<trim元素< where>元素说法错误的是()
(1分)
□A、使用 where>元素替換条件" where1=1"后,既保证了 where后面的亲件成立,又避免了 where后面第一个词是and或者or之类
的关键词
B、使用 where>元素对 ' where1=1条件进行了替换,只用当< where>元素的test属性成立才会在拼接s。L中加入were关键字
否则将不会添加
C、<trim>元素和 <where>元素功能相同,都是对对" where1=1"条件进行替换,并去除多余字符
D、以上说法都正确
参考答案:B、C、D
8、 My Batis动态sQL中的主要元素包含有()。
A、<i
B、<trim>
<set>
D、<bind>
参考答案:A、B、C、D
9、关于<1元素的使用及说法正确的是()
□A、在 My Batis中,<i元素是最常用的判断语句,它类似于Java中的句,主要用于实现某些简单的多条件分支判断
B、使用←元素的tes属性可以对传入参数进行条件判断,如果传入的条件成立就进行动态s。L组装
C、<i元素可以出现多个
□D、以上说法都正确
参考答案:B、c
10、以下关于在进行模糊査询编写sαL语句的时候可能出现问题描述正确的是()
A、如果使用"$”进行字符串拼接,则无法防止sQL注入问题
B、如果使用 concat函数进行拼接,则只针对 MySQL数据库有效
C、如果使用的是 Oracle数据库,则要使用连接符号"‖
口D、如果使用的是 My Batis框架,则要使用<bind>元素来解决
参考答案:A、B、C
11、以下有关< hoose>及其子元素说法错误的是()
A、 MyBatis动态sQL中的< choose>、when>、< otherwise>元素类似Java中的 switch
case
deau语句,用于进行多条件分支
判断
B、只要hen>元素中的test属性条件判断成立,就会动态组装sQL
C、 My Batis动态sQL中的< choose元素内,可以有多个when>和< otherwise>子元素
D、以上说都正确
参考答案:A、B、C、D
12、使用<元素的tes属性可以对传入参数进行条件判断,如果传入的条件成立就进行动态s。L
组装。()
错
参考答案:对
13、 My Batis动态sαL中<trm>元素 <where>元素功能相同,都是对 where1=1"条件进行了替换,
去除一些特殊的字符串
对
错
参考答案:错
14、当前端传递参数名为ids的封装ld的集合参数时,< foreach>元素的 collection属性值需要跟参
数名ids对应()
对
错
参考答案:错
15、 My Batis动态sQL中 where>元素就是为了去除组装的sL语句中第一个多余的and或or()
对
参考答案:错
16、 My Baits中的<ch。。se>、when>、< otherwise>元素用于多条件分支判断,当 cwhen>元素中
的条件为真,就进行动态组装hen>元素内的sQL片段,以此类推()。
对
错
参考答案:错
17、使用了< choose>元素进行sQL拼接,只要-when>元素中的条件为真,就会进行组装
对
参考答案:错
18、 My Batis动态sQL中的< choose>、<When>、< otherwise>元素类似Java中的 switch.case.d
efau语句,用于进行多条件分支判断()
对
错
参考答案:对
19、在使用<i元素时,只要test属性中的表达式为tue,就会执行元素中的件语句
对
错
参考答案:对
20、 My Batis动态sQL中<trm>元素就是为了去除组装的sαL语句中第-个多余的and或。r
对
参考答案:错
21、 My Batis中的< oreach>元素可以用于对数组和集合循环谝历,批量执行sαL操作()
对
错
参考答案:对
22、 My Batis中的<set>元素主要用于更新操作,其主要作用是在动态包含的sαL语句前输出—个
sET关键字,并将SQL语句中最后一个多余的逗号去除()
对
昔
参考答案:对
23、 My Baits中<trm>元素的作用是去除一些特殊的字符串,它的 prefix属性代表的是语句的前
缀,而 prefixOverrides属性代表的是需要去除的哪些特殊字符串()。
对
错
参考答案:对
24、<bind>元素中 value的属性值就是拼接的查询字符串,即必须与传递的参数变量名一致,如us
ername()
对
参考答案:错
25、使用 My Batis的<set>元素来更新操作时,前端需要传入所有参数字段,否则末传入字段会默
认设置为空()
对
参考答案:错
26、在 Hibernate中,如果想要更新某—个对象,就需要发送所有的字段给持久化对象。
参考答案:对
27、在 My Batis中<元素用于单条件分支判断,当某个←i的test性判断成立,然后跳过其他<if
>元素进行动态SQL组装()。
参考答案:错
28、在 My Batis中,<i元素是最常用的判断语句,它类似于Java中的语句,主要用于实现某些
简单的条件选择()
对
参考答案:对
29、动态sαL是 My Batis的强大特性之一, My Batis3采用了功能强大的基于GNL的表达式来完成
动态sαL,它消除了之前版本中需要了解的大多数元素,使用不到原来—半的元素就能完成
所需工作。()
对
参考答案:对
30、可以将任何可迭代对象(如列表、集合等)和任何的字典或者数组对象传递给← oreach作为
集合参数()
对
错
参考答案:对
31、 My Batis动态sQL中的<ch。ose>元素内,可以有多个when>和< otherwise>子元素()
对
错
参考答案:错
32、在 My Baits映射文件中使用<set>和<元素组合进行 update语句动态sQL组装时,如果<set>
元素内包含的内容都为空,则会出现s。L语法错误()
对
错
参考答案:对
33、 My Batis提供了<bind>元素可以解决模糊査询时sαL注入问题,且不会彯响数据库移植()
对
参考答案:对
下面关于Java对象之间的关联关系描述正确的是()
A、一对一的关系就是在本类和对方类中定义同一个类型的对象
B、一对多的关系:就是一个A类类型对应多个B类类型的情况
C、多对多的关系只需要在一方的类中引入另一方类型的集合
D、多对多关联关系需要在本类中引入本类的集合
参考答案:B
2.下面属性中不属于< association>元素属性的是()
A、 property
B、 column
C、 ofType
D、 javaType
参考答案:c
3、在Java中,以下有关类的关联关系描述错误的是()。
A、在Java中,通过对象也可以进行关系描述,他们分别为一对一、一对多、多对一和多对多
B、一对一的关系就是在本类中定义对方类型的对象
C、一对多的关系就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引1入B类类型的对象,在
B类中定义A类类型的属性a
D、多对多的关系:在A类中定义B类类型的集合,在B类中定义A类类型的集合。
参考答案:A
4、下面关于≤c。 lection>元素的描述正确的是()
A、 My Batis就是通过< collection>元素来处理一对多关联关系的
◎B、< collection>元素的属性与< association>元素完全相同
C、 ofType属性与 javaType属性对应,它用于指定实体对象中所有属性所包含的元素类型
D、< collection>元素只能使用嵌套查询方式
参考答案:A
5、以下关于 My Batis映射文件中≤ association>元素属性的说明错误的是
A、 property:指定映射到的实体类对象属性,与表字段—一对应;
B、 column:指定表中对应的字段
C、 java Type:指定映射至实体对象属性的类型
D、. fetchType:指定在关联查询时是否启用延迟加载。 fetchType属性有lazy和 leager两个属性值,默认值为 eager
参考答案:D
6、下面关于数据库中多表之间关联关系说法错误的是()
A、一对一关联关系可以在任意一方引入对方主键作为外键
B、一对多关联关系在一的一方,添加多的一方的主键作为外键
C、多对多关联关系会产生中间关系表,引入两张表的主键作为外键
D、多对多关联关系的两个表的主键成可以为联合主键或使用新的字段作为主键
参考答案:B
7、以下关于≤ association>元素中常用属性说法错误的是()
A、 property指定映射到的实体类对象属性,与表字段—一对应
B、 column指定表中对应的字段
C、 javaType指定映射到实体对象属性的类型
D、 fetchType指定在关联查询时是否启用延迟加载,默认值为 eager
参考答案:D
8、以下 My Batis—对多关联映射的使用及说法正确的是()
A、 My Batis是通过< resultMap>元素的< collection>子元素该元素来处理一对多关联关系的
B、< collection>子元素的属性大部分与< association>元素相同,但其还包含—个特殊属性—。 fType
C、 My Batis一对多关联映射同样可以使用嵌套结果和嵌套查询的方式
D、 ofType属性与 javaType属性意义相同
参考各案:A、B、c
9、 My Batis映射文件中≤c。 ection>元素通常可以配置以下属性()。
∽A、 property
B、 column
D、 select
参考答案:A、B、C、D
10、以下有关 My Batis中多对对关联映射的使用及说法正确的是()
□A、 My Batis是通过< esultMap>元素的< association>子元素该元素来处理多对一关联关系的
B、多对多关联映射中的< association>子元素与一对多中的<ass。 catie。n>子元素用法和属性相同
C、 My Batis是通过< resultMap>元素的< collection>子元素该元素来处理多对一关联关系的
D、多对多关联映射中也有嵌套查询和嵌亹结果两种方式
参考答案:C、D
11、 My Batis映射文件中≤ association>元素通常可以配置以下属性()
property
B、 fetchType
□C、oype
D、 select
参考答案:A、B、D
12、在关系型数据库中,多表之间的关联关系主要包括()
A、一对
心B、一对多
C、多对
∽D、多对多
参考答案:A、B、C、D
俘3、 My Batis关联映射的<ass。 ciation>元素和≤c。 ollection>元素中都已默认配
置了延迟加载属性。
参考答案:对
14、使用 My Batis嵌套结果的方式进行关联查询只执行条SQL语句。
参考答案:对
15、 My Batis是诵过< resultMap>元素的< collection>子元素该元素来处理-
对一关联关系的()。
参考答案:错
16、 My Batis是同样是通过← resultMap>元素的<c。 ection>子元素该元素来
处理多对多关联关系的()。
对
参考答案:对
17、在关系型数据库中,多表之间存在着三种关联关系,分别为一对一、多
对一和多对多()
◎错
参考答案:错
18、在Java中,一对多的关系就是在A类中以集合的方式引入B类类型的对
象,在B类中定义A类类型的属性a。
对
错
参考答案:对
1s、 My Batis中多对多关联映射同样有嵌套查询和嵌套结果两种关联方式。
对寸
错
参考答案:对
20、 My Batis是通过← resultMap>元素的<c。 ection>子元素该元素来处理一
对多关联关系的()
对
错
参考答案:对
21、以订单和商品为例,—个订单可以包含多种商品,所以订单和商品之间
属于一对多关系。
参考答案:错
22、在数据库中,多对多的关联关系通常使用一个中间表来维护,比如中间
表中
的订单id作为外键参照订单表的iD、商品i作为外键参賂商品表的i
对
参考答案:对
23、在关系型数据库中,一对多就是在“一"的—方,添加“多”的—方的主键
作为外键()。
对
错
参考答案:错
24.在Java对象中,多对多的关系是在A类中定义B类类型的集合,在B类中
定义A类类型的集合()
对
参考答案:对
25、 My Batis是诵过< resultMap>元素的< association>子元素该元素来处理
对一关联关系的()
对
错
参考答案:对
26、 My Batis映射文件中< association>元素的属性 select用于指定引入嵌鶱
查询的子sαL语句,该属性用于关联映射中的嵌套查询()
参考答案:对
27、 My Batis在映射文件中加载关联关系对象主要通过两种方式:嵌套查询
和嵌套结果()。
对
错
参考答案:对
28、 My Batis默认没有开启延迟加载,需要在核心配置文件中的< settings>元
素内进行配置
对
参考答案:对
29、 My Batis中< collection>元素的属性与< association>元素相同,且使用也
很简单,同样有嵌套查询和嵌套结果两种关联方式()
参考答案:错
30、当表中的列名与对应对象的厲性名称完全一致时,在查询映射文件中可
以不使用 resultMap属性。
对
错
参考答案:对
、进行 My Batis与 Spring的整合配置文件编写时,不包括有()。
A、db. properties
B、 applicationContext. xm
C、 mybatis- config. xml
D. springmvc-config xml
参考答案:D
2、 MapperFactory Bean是 My Batis- Spring团队提供的用于根据 Mapper接口生成 Mapper对象的
类,该类在 Spring配置文件中可以配置的参数不包括()。
A、 mapperInterface
B、 SqIsession Factory
ooo
C. Sqlsession Template
D、 base Package
参考答案:D
3、 Mapperscannerconfigure类在 Spring配置文件中使用时可以配置的属性及说明错误的是()
A、 base Package:指定映射接口文件所在的包路径,当需要扫描多个包时可以使用分号或逗号作为分隔符
◎B、 annotation class:指定了要扫描的注解名称,只有被注解标识的类才会被配置为映射器
C、 sqlsession Factory Bean Name:指定在 Spring中定义的 SqIsessionFactoryl的Bean名称
D、 sqISession Template BeanName:指定在 Spring中定义的 SqlsessionTemplate的Bean名称。如果定义比属性,则 sqISessionF
actory BeanName将起作用
参考答案:D
4、以下不属于 Mapperscannerconfigurer类在 Spring配置文件中使用时可以配置的属性的是()
A、 basePackage
B、 annotations|ass
G、 sqlsession Name
D、 mapperInterface
参考答案:D
5、以下有关采用传统DA开发方式进行 My Batis与 Spring框架的整合的说法错误的是()
A、采用传统DAO开发方式进行 My Batis与 Spring框架的整合时,只需要编写DA接口
B、采用传统DAO开发方式进行 MyBatis与spng框架的整合时,需要向DAO实现类中注入 sqIsession Factory,然后在方法体内
通过 Sqlsession Factory创建 sqlsession
C、可以使用 mybatis- spring包中所提供的 SqIsession Template类或 Sqlsession Dao Suppor类来实现在类中注入 Sqlsession Factor
D、 SqIsessionDaoSupport,是一个抽象支持类,它继承了 DaoSupport类,主要是作为DAO的基类来使用。可以通过 SqIsessionD
suPport类的 getsqIsession(方法来获取所需的 Sqlsession
参考答案:A
6、在 My Batis+ Spring的项目中,以下有关事务的相关说法正确的是()
A、在 MyBatis+ Spring的项目中,事务是由 MyBatis来管理的
◎B、在项目中,数据访问层既是处理业务的地方,又是管理数据库事努的地方
C、进行注解开发时,需要在配置文件中配置事务管理器并开启事务注解
D、进行注解开发时,需要使用@ Transactional注解来标识表现层中的类
参考答案:c
7、以下哪些属于 Mapperscannerconfigure类在 Springi配置文件中使用时可以配置的属性()。
∽A、 basePackage
B、 annotationclass
C. sqISession Factory BeanName
□D、 mapperInterface
参考答案:A、B、c
8、在 My Batis+ Spring的项目中,以下有关事务的相关说法正确的是()。
A.在 MyBatis+ Spring的项目中,事务是由 Spring来管理的
B、在项目中,业务层( Service层)既是处理业务的地方,又是管理数据库事务的地方
∽、进行注解开发时,需要在配置文件中配置事务管理器并开启事务注解
D、进行注解开发时,需要使用@ Transactiona注解来标识事务处理的类
参考答案:A、B、C、D
9、进行 My Batis与 Spring整合时, Spring的配置文件主要配置内容包括有()
A、 My Batis工厂配置
∽B、数据源配置
C、事务管理器配置
D、读取 MyBatis核心配置文件的配置
参考答案:A、BC、D
10、 MapperFactory Bean是 My Batis-Springl团队提供的一个用于根据 iMapper接口生成 Mapper对象
的类,该类在 Spring配置文件中可配置的参数说明错误的是()
∽A、 mapperInterface:用于指定接口
B、 Sqlsession Factory:用于指定 SqlsessionFactory
C、 sqIsession Template:用于指定 sqIsession Template。如果与 sqIsession Factory同时设定,则只会启用 SqISession Templat
D、以上都正确
参考答案:A、B、C、D
11、要实现 MyBatis与 Spring的整合,所需要的JAR包包括有以下()
A、 Spring框架的相关JAR包
B、 My Batis框架相关JAR包
C、 Spring与 MyBatis整合JAR包
D、数据库驱动包
参考答案:A、B、C、D
12、以下有关采用传统DAO开发方式进行 My Batis与 Spring框架的整合的说法正确的是()
A、采用传统DA开发方式进行 My Batis与 Spring框架的整合时,需要编写DA接口以及接口的实现类
B、采用传统DA开发方式进行 My Batis.与spng框架的整合时,需要向DAO实现类中注入 SqIsession Factory,然后在方法体内
诵过 SqlsessionFactory.创建 Sqlsession
C、可以使用 mybatis-spring包中所提供的 SqIsession Template类或 Sqlsession Support类来实现在类中注入 sqlsession Factor
D、 Sqlsession Dao Support是一个抽象支持类,它继承了 DaoSupport类,主要是作为DA的基类来使用。可以通过 SqlsessionD
Support类的 getsqlsession(方法来获取所需的 SqISession
参考答案:A、B、C、D
13、单独进行 My Batis与 Spring整合时,主要需要编写的配置文件有()。
A、 Spring配置文件 applicationcontext. xm
B、 MyBaits配置文件 mybatis-config. xml
C、日志文件og4 properties
□D、前端Web加载配置文件web.xm
参考答案:A、B、C
14、在实际的项目开发中, Spring与 My Batis都是整合在一起使用的()。
对
错
参考答案:对
15、 My Batis- Spring团队提供了一种自动扫描的的类 MapperScannerconfigurer来配置 My Batis中
的映射器以解决使用 MapperFactory Bean时可能导致的 Spring配置文件臃肿冋题()
对
错
参考答案:对
16、 MapperFactory Bean的参数 SqIsessionTemplate用于指定 SqIsession Template。如果与sqs
ess| olFactory同时设定,则只会启用 SqIsession Factory()
错
参考答案:错
17、使用 Mapper接口动态代理开发方式时,如果完全遵循了编写规范,那么在 My Batis的核心配
置文件中可以不引入映射文件()
错
参考答案:对
18、 SqIsession Template是 mybatis- spring的核心类,它负责管理 MyBatis的 sqlsession,调用My
Batis的sαL方法。当调用sQL方法时, SqIsession Template将会保证使用的 Sqlsession和当
前 Spring的事务是相关的。()
错
参考答案:对
19、在实现 My Batis与 Spring的整合时,需要编写的配置文件一般有db. properties文件、 Spring的
配置文件,以及 My Batis的配置文件。()
错
参考答案:对
20、可以使用 mybatis- spring包中所提供的 Sqlsession Template类或 Sqlsession Da。 Support类来
实现向DA实现类中注入 SqlSession Factory()。
错
参考答案:对
21、通常情况下, Mapperscannerconfigurer在使用时只需通过 basePackage属性指定需要扫描
的包即可, Spring会自动的通过包中的接口来生成映射器()
错
参考答案:对
22、db. properties配置文件主要用于配置数据源的常量信息配置。()
对
错
参考答案:对
23、在项目中,业努层〔 Service层)既是处理业务的地方,又是管理数据库事努的地方()
对
错
参考答案:对
24、采用传统DA开发方式进行 My Batis与 Spring框架的整合时,需雯编写DA接口以及接口的
实现类,并且需要向DA实现类中注入 Sqlsession Factory,然后在方法体内通过 Sqlsession
Factory创建 Sqlsession。()
参考答案:对
25、在 My Batis+ Spring的项目中,事务是由 My Batis来管理的()
错
参考答案:错
26、在实现 My Batis与 Spring的整合时,涉及到数据库访问,还要根据具体的数据库类型选择对应
的数据库驱动JAR包。()
对
错
参考答案:对
27、 Sqlsession DaoSupport是—个抽象支持类,它继承了 Dao Support类,主要是作为DA的基
类来使用
错
参考答案:对
28、要实现 My Batis与 Spring的整合,只需要将这两个框架的JAR包进行整合即可。()
参考答案:错
29、 MapperFactory Bean是 My Batis-Spring团队提供的个用于根据 Mapper接口生成 Mapper对象
的类()
错
参考答案:对
30、 My Baits与 Spring进行整合时,Dao层开发可以使用传统的DA方式的开发整合,以及 Mappe
r接口方式的开发整合()。
对
错
参考答案:对
1、入门程序中,不是必须引入的JAR包是()
A、 Spring的4个核心AR包
B、 commons-logging的JAR包
C、 spring-web和 spring-webmvc的JAR包
D、log4的JAR
参考答案:D
2、下面关于 Spring MVO特点说法错误的是()。
A、灵活性强,但不易于与其他框架集成
B、可自动绑定用户输入,并能正确的转换数据类型
C、支持国际化
D、使用基于XML的配置文件,在编辑后,不需要重新编译应用程序
参考答案:A
3、用户通过浏览器向服努器发送请求时,负责拦截用户请求的是()。
A、处理器
B、处理器映射器
C、处理嚣适配器
D、前端控制器
参考答案:D
4、 Spring MVC是 Spring提供的个实现了()设计模式的轻量级Ⅶeb框架
A、 Web Mvc
B、Web
C、单例
工厂
参考答案:A
5、 Spring MVO中的后端控制器是指()
A、 HandlerAdapter
B、 Dispatcher servlet
C、 ViewReslover
D、 Handler
参考答案:D
6、在 Spring MVo的配置文件中,属于可选配置的是()
A、处理器映射器
B、处理器适配器
C、视图解析器
D、处理器
参考答案:A、B、C
7、下面关于 Spring MVc特点说法正确的是()
A、灵活性强,易于与其他框架集成
B、提供了一个前端控制器 Dispatcherservlet,使开发人员无需额外开发控制器对象
C、支持国际化
D、支持多种视图技术
参考答案:A、B、C、D
8、<load-on- startup>元素中的1表示容器在启动时立即加载这个 Servlet
对
错
参考答案:对
9、 Spring4.3版本的配置文件中,必须要配置处理器映射器、处理器适配器和视图解析器,否则
程序将无注运行。
错
参考答案:错
10、 Spring MVc的灵活性比较弱,易于与其他框架集成。
错
参考答案:错
11、 HandlerAdapter将 ModelAndview对象返回给 ewReslover。
对
错
参考答案:错
12、在< servlet- mapping>中,通过<ur- pattern>元素的",会将所有URL拦截,并交由 Dispatche
servlet处理
错
参考答案:对
13、 Spring MVC支持JsP、 Velocity、×ML和 Free Marker等视图技术。
错
参考答案:错
1、下面关于<load-on- startup>元素说法错误的是()。
A、如果<oad- on-startup>元素的值为1,则在应用程序启动时会立即加载该 Servlet
OB、如果< oad-on-startup>元素不存在,则应用程序会在第个see请求时加载该 Servlet
C、如果< ad-on-startup>元素的值为1,则在应用程序启动时会延迟加载该 Servlet
D、< load-on-startup>元素是可选的
参考答案:C
2、下面选项中,能够正确访问下面代码中方法是()
@Controller
@RequestMapping("/first")
public class Firstcontrollert
@RequestMapping ("/first")
publicStringhandlerequest(httpservletrequestrequest
Http Servletresponse response Model model throws Exception
model. addAttributer("msg","这是我的第一个 Spring MVC程
序");
return "first
Ahttp:/ocalhost:8080/chapter12/hello/firstcontroller
B.http://ocalhost:8080/chapter12/first/firstcontroller
oC.http://localhost:8080/chapter12/first/first
D、htp:/ localhost8o8o/ chapter12 hello/first
参考答案:C
3、 RequestMapping注解类型的作用是()。
A、用于映射一个请求或一个方法
B、用于映射一个控制器类
C、用于映射请求参数
D、用于映射请求类型
参考答案:A
4、下面关于@ RequestMapping注解说法错误的是()
A、@ 2RequestMapping注解的默认属性是vaue
B、@ RequestMapping注解的vaue属性值可以省略
C、@ RequestMapping注解的vaμue属性名可以省略
D、@ RequestMapping注解的vaue属性必须标注
参考答案:D
5、下面关于组合注解的说法正确的是()。
A、组合注解是Spng3x版本中的新特性
B、组合注解可以简化常用的HTTP方法的映射
C、在所有的 Spring项目中,使用组合注解可以替代@ RequestMapping注解
D、@ GetMapping注解可以用来匹配GET和PsT方式的请求
参考答案:B
6、下面关于请求处理方法返回类型说法错误的是()
A、常见的返回类型是 Modelandview、 String和vid
B、 Modelandview类型中可以添加Mode数据,并指定视图
C、 String类型的返回值可以跳转视图,但不能携带数据
D、voi类型主要在异步请求时使用,它既返回数据,又跳转视图
参考答案:D
7、以下有关 Spring MVC支持的返回值类型及说法错误的是()
A. ModelAnd View)回值类型中可以添加Mode数据,并指定视图
B、 String返回值类型也可以携带数据并跳转视图;
C、voii回类型主要在异步请求时使用,它只返回数据,而不会跳转视图
D、 String类型除了可以返回视图页面外,还可以进行重定向与请求转发
参考答案:B
8、下面类型中,不属于请求处理方法参数类型的是()。
A,javax.servlethttpHttpsession
B、@ MatrixVariable
C. org. springframework ui Model
D. void
参考答案:D
9、注解@ RequestMapping可以可以标注在()。
A、一个类上
√B、一个方法上
C、一个属性上
D、以上都可以
参考答案:A,B
10、以下哪些属于@ RequestMapping注解的属性()。
∽ A. name
B. value
C、 method
D、 params
参考答案:A,B,C,D
11、在使用 Spring MVO框架时, web. xm配置文件中可以配置有()。
A、前端过滤器 Dispatcher Servlet
√B、初始化时加载配置文件 contextconfigLocation
∽C、程序启动时加载该 Servlet<oad- on-startup>
∽D、请求路径映射< servlet-mapping>
参考答案:A,B,C,D
12、以下哪些属于 Spring MVc所支持的方法返回类型有()
√A、 ModelAndview
√B、 ResponseEntity<?>
C、 String
D. void
参考答案:A,B,C,D
13、注解@ RequestMappingl的 method属性是可选的,不写的话,默认支持
所有HTTP请求方法。
对
错
参考答案:对
14、 Web. xm文件中必须使用<ad-on- startup>元素和< init-paran>元素,
否则文件会报错。
对
错
参考答案:错
15、@ RequestMapping注解只能标注在一个方法上
对
错
参考答案:错
16、为了简化HTTP方法的映射,可以将之前的项目请求映射都修改为组合
注解映射。
对
错
参考答案:错
17、如果没有通过< init-param>元素配置,则应用程序会默认去WEB-NF目
录下寻找 servletName-servlet xm
对
错
参考答案:错
18、在控制器类中,每一个请求处理方法只能有一个类型的参数
对
错
参考答案:错
19、返回 String类型数据时,可以实现请求转发和重定向。
对
错
参考答案:对
20、 controlle注解类型的注解形式为@ Controller,它可以标注在任何类上
对
错
参考答案:错
21、当注解@ RequestMapping的 value是其唯一属性时,可以省略属性名。
对
错
参考答案:对
22、 Spring MVc支持的 String类型的返回值可以携带数据并跳转视图。
对
错
参考答案:错
23、@ RequestMapping( method= RequestMethod.GET)可以缩写为@Get
Mapping o
对
错
参考答案:对
24、当@ RequestMapping标注在类上时,该控制器所处理的所有请求都被
映射到vaue属性值所指定的路径下。
对
错
参考答案:对
25、在控制器类中,每一个请求处理方法都可以有多个不同类型的参数,以
及一个多种类型的返回结果。
对
错
参考答案:对
26、注解@ Controller可以添加在控制器类或方法上。
对
错
参考答案:错
下面不属于 Spring MVC中常用的默认参数类型的是()。
A、 HttpservletreQuest
B、 HttpservletreSponse
C、 Http session
D、 Modelview
参考答案:D
3、下面关于 Spring MVc数据绑定流程说法错误的是()。
A、 Spring MVc将 ServletRequest对象传递给 Data Binder
B、 Spring会将处理方法的入参对象传递给 DataBinder
C、 Data Binden调用 Binding Results组件进行数据类型转换、数据格式化等工作
D、调用 Validator组件对已经绑定了请求消息数据的参数对象进行数据合法性校验
参考答案:C
4、下面选项中,哪一个是 Spring的编码过滤器类()
A、 org. springframework web filter. EncodingFilter
B, org. springframework web filter. CharacterEncoding Filter
C, org. springframework web filter. CharacterEncoding
D, org. springframework web filter. CharacterFilter
参考答案:B
5、以下有关 Spring Mv℃常用的默认参数类型及说法错误的是()。
A. Httpservletrequest通过 trequest划对象获取请求信息
B、 Http Servletresponse通过 response处理响应信息
C、 Http session通过 session对象得到 Session中存放的对象
D、 Model/ModelMap:Moe或 ModelMap是一个接口,作用是将mode数据填充到 equest域
参考答案:D
6、@ RequestParam注解中可以省略属性名称的是()
A、 defaultvalue
B、 value
C、name
required
参考答案:B
7、下面不属于@ RequestParan注解类型属性的是()
A、id
B. value
ooo
C、name
D、 required
参考答案:A
8、下面关于包装PoJo类型数据绑定的说法正确的是()。
A、如果查询条件参数是包装类的直接基本属性,则参数名直接用对应的属性名
B、如果查询条件参数是包装类的直接基本属性,则参数名必须使用对应的对象属性名”
C、如果查询条件参数是包装类中POo的子属性,则参数名必须为属性名
D、如果查询条件参数是包装类中POJO的子属性,则参数名必须为对象子属性属性值的形式
参考答案:A
9、下面几种类型中,属于 Spring Mvc可以绑定的简单数据类型的是()
A、int
B、stng
C. Double
D、 Array
参考答案:A,B,C
10、 required用于指定参数是否必须,默认是 false,表示请求中一定要有相
应的参数。
对
错
参考答案:错
11、要使用集合数据绑定,需要在包装类中定义一个包含用户信息类的集合
,然后在接收方法中将参数类型定义为该包装类的集合。
对
错
参考答案:对
12、 Formatter与 Converte的作用相同,只是 Formatter0源类型可以是任意
类型,而 Converter必须是一个 String类型
对
错
参考答案:错
13、在执行绑定数组操作中,前台页面中复选框中传递的ηame属性值必须
相同。
对
错
参考答案:对
14、在使用POJo类型数据绑定时,前端请求的参数名必须与要绑定的POJ
O类中的属性名一样。
对
错
参考答案:对
15、綁定数组与绑定集合页面传递的参数相同,只是后台接收方法的参数不
同。
对
错
参考答案:错
16、自定义 Converte类需要实现org. springframework core convertconvert
er. converter接口
对
错
参考答案:对
17、当前端请求的参数比较简单时,可以在后台方法的形参中直接使用Spr
ng MVO提供的默认参数类型进行数据绑定。
对
错
参考答案:对
18、@ RequestParam注解类型主要用于对请求中的参数进行定义。
对
错
参考答案:对
19、自定义类型转换器的配置中,Bean的类名称必须为org. springframework
kcontext support Conversion Service Factory Bean
对
错
参考答案:对
20、 Spring MVo会将 BindingResu对象中的内容赋给处理方法的相应参数
对
错
参考答案:对
20、 RESTfu也称之为REST,是英文“ Representational State Transfer"的简
称
对
错
参考答案:对
2.下面选项中不属于 Jackson的开源包的冖)
A、 jackson- annotations-288」ar
B. jackson-core-2.8. 8. jar
C、 jackson- databind-2.88jar
D、 jackson-data-2.8.8jar
参考答案:D
2、下面选项中不属于 Jackson的开源包的是()。
A. jackson-annoations-2.8.8. jar
B、 jackson-core-2.8.8」ar
C、 jackson- databind-288」ar
D、 jackson-data-2.8.8」ar
参考答案:D
3、针对GET方式 RESTfu风格的请求htt:/ localhost:8080/ chapter14/user/
1,后台方法接收参数的路径映射写法可行的是()
O A. @RequestMapping("/user/idy",method=RequestMethod GET
B, @RequestMapping(value="/user ids")
C、@ GetMapping (value="/user/ds.")
O D. GetMapping(value=""user/(id", method=RequestMethod GET
参考答案:C
5、下面属于 RESTfu风格请求的是()
A、htt1./ queryltems?id=
B.http://...queryltems?id=1&name=zhangsan
C.http://.../items/1
D.http∥/queryitems/1
参考答案:C
6、使用@ RequestMapping注解限定PosT请求方法时,需要指定()。
A、 method= RequestMethod. P。sT
Db.method=httpmethod.post
C、 method=POsT
D、 method= Method. POST
参考答案:A
7、下面不属于AJAx中的属性的是()。
A、datA
B、 contentType
C、 dataType
D、 database
参考答案:D
8、JsoN使用了哪些语言的约定()
A、C++
B、Perl
C、JavA
D、Go
参考答案:A,B,c,D
9、使用JsoN可以传输的数据类型有()。
A、 String
B、Boo|ean
心C、数组
D、 Object对象
参考答案:A,B,c,D
11
oN对象和XML文档,不能将JsON对象和XML文档转换为JavA
Mapping Jackson2 Httpmessage Converter类只能将Java对象转换为Js
对
参考答案:错
12、@ RequestBody用于将请求体中的数据绑定到方法的形参中,使用时用
在方法的形参上。
对
错
参考答案:对
13、JsN的对象和数组两种数据结构可以分别组合构成更为复杂的数据结
构。
对
参考答案:对
14、RESTfu风格在HTTP请求中,使用put、delete、post和get方式分别对
应添加、删除、修改和查询的操作。
对
参考答案:对
15、<mvc: resources../元素中, mapping厲性用于匹配静态资源全路径,
其中“*”表示文件夹及其子文件夹下的某个具体文件。
对
错
参考答案:对
16、JsoN是理想的数据交互语言,它易于阋读和编写,同时也易于机器解
析和生成
◎对
参考答案:对
17、使用<mvc: default- servlet- handler>标签可以实现对静态资源的访问
对
参考答案:对
18、 RESTfu也称之为REST,是一种软件架构标准。
对
参考答案:错
19、ⅩML相对于JsN来说,解析速度更快,占用空间更小
对
错
参考答案:错
1、以下有关 Spring MVc中自定义拦截器的方法说法错误的是()。
A、自定义的拦截器可实现 HandlerInterceptor接口来实现
B、 preHandler(方法会在控制器方法前执行,其返回值表示是否中断后续操作
C、 postHandle(方法会在控制器方法和解析视图之前执行
◎D、 aftercompletion(方法:该方法会在整个请求完成,即视图渲染结束之后执行
参考答案:C
2、以下有关 Spring MvC配置文件中拦截器的配置说法错误的是()
A、要使用 Spring MVC中拦截器,要先自定义拦截器还需要在配置文件中进行配置
B、< mvc: interceptors元素用于配置一组拦截器,其子元素<bean>中定义的是指定路径的拦截器
C、< mvc: interceptors>元素中可以同时配置多个< mvc: interceptor>子元素
D、< mvc: exclude- mapping>元素用于配置不需要拦截的路径请求
参考答案:日
3、下列关于拦截器的执行流程说法错误的是()
A、程序首先会执行拦截器类中的 rehAndle(方法
B、如果 rehAndle(O方法的返回值为true,则程序会继续向下执行处理器中的方法,否则将不再向下执行
C、在业务处理器(即控制器 Controlle类)处理完请求后,会执行 rehAndle(方法
D、在 Dispatcher servlet处理完请求后,才会执行 aftercompletion(方法
参考答案:C
4、以下哪个方法可以定义 Spring MVo中的拦截器()
A、继承 HandlerInterceptor
B、实现 Web RequestInterceptor
C、实现 HandlerInterceptorAdapter
D、继承 WebRequestInterceptor
参考答案:B
5、关于用户权限验证的执行流程,说法错误的是()
A、只有登录后的用户才能访问系统中的主页面
B、如果没有登录系统而直接访问主页面,则拦截器会将请求拦截,并转发到登录页面
C、如果用户名或密码错误,会在登录页面给出相应的提示信息
D、当已登录的用户在系统主页中单击“退出链接时,系统会回到主页面
参考答案:D
6、下面不属于拦截器类中的方法的是()。
A、 preHandler(
B、 postHandleo
C、 aftercompletiono
D、 afterpletion(
参考答案:D
7、以下哪些方法可以定义 Spring Mvo中的拦截器()。
A、实现 HandlerInterceptor接口
B、实现 WebRequestInterceptor接口
C、继承 HandlerInterceptorAdapter类
D、继承 WebRequestInterceptor类
参考答案:A,B,C
8、以下哪些属于< mvc: interceptors>元素的子元素()。
∽A、<mvc: interceptor.
<bean>
C、<ref>
D、<mve: mapping
参考答案:A,B,C
9、以下有关实现用户登录权限验证的说法错误的是()
∽A、用户登录时,需要对用户名或密码使用拦截器验证
B、jsp页面进行用户登录使用P◎sτ方法进行请求
C、可以通过 request. getRequestUR(方法获取请求的UR
D、用户登录成功后直接放行即可
参考答案:A,D
10、通过 Spring Mvc中的拦截器可以实现以下哪些功能()。
A、进行权限验证
B、记录请求信忘的曰志
C、判断用户是否登录
D、资源清理
参考答案:A,B,C,D
11、以下有关多个拦截器的执行流程说法正确的是()。
∽A、有多个拦截器时,拦截器的执行顺序与配置文件中所定义的拦截器的顺序相关
B、有多个拦截器时, postHandle(方法会按照配置文件中拦截器的配置顺序执行
C、有多个拦截器时, rehAndle(方法和 aftercompletion(方法则会按照配置顺序的反序执行
∽D、不管配置顺序如何,拦截器的 aftercompletion(方法总是最后执行
参考答案:A,D
12、在同一个<mvc: interceptor>元素下可以使用多个<bean>来配置多个拦
截器类。
对
错
参考答案:对
13、全局拦截器和指定路径下的拦截器不能够同时配置,否则运行时会报
错。
对
参考答案:错
14、当拦截器类中的 pre Handle(方法返回值为 false,则程序会继续向下执
行
对
参考答案:错
15、多个拦截器时, postHandle(方法和 aftercompletion(方法则会按照配
置顺序执行。
参考笞案:错
16、拦截器类中的 pre Handler(方法会在控制器方法前执行。
参考答案:对
17、≤ mvc: interceptor>中的子元素可以按照任意位置编写。
对
参考答案:错
18、在执行完拦截器 postHandle(方法后就会在业务处理器中进行请求处
理
参考答案:错
19、在 Spring Mvc配置文件中,可以指定多个≤mvc: interceptors>元素用于
配置拦截器。
参考答案:错
20、在实现用户登录页面,可以使用GET方式提交登录请求
对
参考答案:对
21、配置拦截器时,必须将path的属性值设置为/*
对
参考答案:错
1、下列关于ssM框架的整合说法错误的是()
A、 Spring MVC与 Spring之间不存在整合的问题
B、ssM框架的整合就涉及到 Spring与 My Batis的整合t
C、ssM框架的整合就涉及到 Spring MVc与 My Batis的整合
D、ssM框架的整合就涉及到 Spring MVc与 Spring之间的整合
参考答案:D
2、下面属于c。 mmonsMultipartResolver属性的是()。
A、 getcontent Type
B、 getInputstrean
G、 isEmpty
D、 defaultEncoding
参考答案:D
3、下列选项中,属于 Spring MVo所必须的JAR包的是()。
A、 spring-web-4.3.6. RELEASE,jar
B、 spring-webmvc- portlet-4.3.6 RELEASE. jar
C、 spring-webmvc-4.3.6 RELEASE-javadoc jar
D. spring-websocket-4.3.6. RELEASE.jar
参考答案:A
4、下面不属于文件解析器类c。 mmonsMultipartResolver属性的是()
A、 maxUpload Size
B、 maxInMemory Size
C、 defaultEncoding
D、lazy
参考答案:D
5、以下有关 CommonsMultipartResolver类的属性及说法错误的是()。
A、 maxUploadsize:上传文件最大长度(以字节为单位)
B、 maxInMemory size:缀存中的最大尺寸
C、 defaultEncoding:默认编码格式,默认为ut-8
D、 resolveLazily:推迟文件解析
参考答案:C
6、下面关于文件下载方法内容描述错误的是()
A、响应头信息中的 MediaType代表的是 sterner Media Type(即互联网媒体类型),也叫做MME类型
B、 MediaType APPLICAT| N OCTET STREAM的值为 application/octet-stream,即表示以二进制流的形式下载数据
C、 Http status类型代表的是Htpt议中的状态
D、 Http status.OK表示500,即服务器已成功处理了请求
参考答案:D
7、下面关于 MultipartFile接口中说法错误的是()
A、 getoriginalFilename(用于获取上传文件的初始化名
B、 getsize)用于获取上传文件的大小,单位是KB
C、 getInput strean(用于读取文件内容,返回一个 nputstrean流
D、 transferTo(Feme)用于将上传文件保存到目标目录下
参考答案:B
8、下列选项中,不属于ssM整合时所需的JAR包的是()。
A、 spring-web-4.3.6 RELEASE. jar
B、 spring-webmvc-4.3.6 RELEASE.jar
C、ant-1.9.6Jar
O D. xwork-core-2324 jar
参考答案:D
9、下面关于文件上传表单说法错误的是()。
A、fom表单的 method属性设置为post
B、fom表单的 method属性设置为get
C、fom表单的 enctype属性设置为 multipart/forn-datA
D、提供< input type="e"name=" ename"/>的文件上传输入框
参考答案:B
10、进行 My Batis与 Spring的整合配置文件编写时,不包括有()
A、db. properties
B、 applicationcontext.xml
C、 mybatis- config.xm
D、 springmvc-config.xml
参考答案:D
11、以下哪些属于 MultipartIte接口中的方法()。
A、 getcontentType
B、 getinputstrean(
C、 getoriginalFilename
D、 transfer To( File file)
参考答案:A,B,C,D
12、下列关于ssM框架的整合说法正确的是()。
A、 Spring Mvo与 Spring之间不存在整合的问题
B、ssM框架的整合就涉及到 Spring与 MyBatis的整合
C、ssM框架的整合就涉及到 Spring MVC与 My Batis的整合
D、ssM框架的整合就涉及到 Spring MVC与 Spring之间的整合
参考答案:A,B,C
13、进行 My Batis与 Spring整合时, Spring的配置文件主要配置内容包括有()。
A、 MyBatis工厂配置
B、数据源配置
C、事务管理器配置
D、读取 My Batis核心配置文件的配置
参考答案:A,B,C,D
14、下面属于文件解析器类c。 mmonsMultipartResolver,属性的是()
A、 maxUpload size
B、 maxInMemory size
C、 defaultEncodino
D、 resolveLazily
参考答案:A,B,C,D
15、在 Spring MVo中实现文件上传下载,还需要导入支持文件上传下载的相关JAR包()
A commons-fileupload jar
B. commons-filedownload jar
C、 commons-ojar
D、 commons-beanutils jar
参考答案:A,C
16、下列选项中,属于ssM整合时所需的JAR包的是()
A. spring-web-4.3.6. RELEASE. jar
B. spring-webmvc-4.3.6.RELEASE. jar
C、ant-1.9.6Jar
D. xwork-core-2.3.24.jar
参考答案:A,B,C
17、在实现文件上传案例中, Spring MVo配置文件主要配置内容有()
A、组件扫描器
B、注解驱动
C、视图解析器
D、文件上传解析器
参考答案:A,B,C,D
18、在实现中文名文件下载时,以下说法正确的是()。
A、要在前端页面发送请求前先对中文名进行统一编码,然后在后台控制器类中对文件名称进行相应的转码
B、在sp页面可以使用 URLEncoder类中的 encoder( String s, String enc)方法将中文转码
C、在sp西面进行转码时,可以直接引l用 encoder( String s, String enc)法
D、后台控制器类中可以将文件名统ut-8编码
参考答案:A,B
19、下面关于文件下载方法内容描述正确的是()
A、响应头信息中的 MediaType代表的是 Interner Media Type(即互联网媒体类型),也叫做MME类型
B、 MediaType APPLICAT| ON OCTET STREAN的值为 application/octet- stream,即表示以一进制流的形式下载数据
C、 Httpstatus类型代表的是Http协议中的状态
D、 Http status.oK表示500,即服务器已成功处理了请求
参考答案:A,B,C
20、单独进行 My Batis与 Spring整合时,主要需要编写的配置文件有()。
A、 Spring配置文件 applicationcontext.xm
B、 My Baits配置文件 mybatis- config.xm
C、日志文件og4 properties
D、前端Web加载配置文件web.xm
参考答案:A,B,C
21、旧E系列浏器的请求代理User- Agent中的关键字有()
A、MsE
B、 Trident
C、Edge
D、 MozillA
参考答案:A,B,C
22、下列选项中,不是 Spring MVo所必须的JAR包的是()。
A. spring-web-4.3.6.RELEASE. jar
B. spring-webmvc-portlet-4.3.6.RELEASE. jar
C. spring-webmvc-4.3.6. RELEASE-javadoc jar
D. spring-websocket-4.3.6.RELEASE. jar
参考答案:B,c,D
23、在进行文件下载时,必须向I目录加入comm。ns- lledownload jar。
对
错
参考答案:错
24、通过 maxUploadsize属性可以对上传文件缓存中的最大尺寸进行设置
对
错
参考答案:错
25、上传的文件,可以在项目目录中找到。
参考答案:错
26、 Spring与 Spring MVc, Spring MV与 My Batis需要相互整合。
错
参考答案:错
27、 db properties配置文件主要用于配置数据源的常量信息配置。()
对
参考答案:对
28、@ Autowired注解需要标注在 Service层的实现类上,这样才能实现依赖注入,
错
参考答案:错
29、@τ ransactiona注解主要是针对数据的增加、修改、删除和查询进行事务管理。
对
错
参考答案:错
30、查询操作也会被程序纳入事务管理范围。
对
错
参考答案:错
31、在进行文件上传时,通常可以使用GET方式进行。
对
参考答案:错
32、 Spring MVo的文件上传是通过 MultipartResolver对象实现的对寸
错
参考答案:对
33、上传文件时,必须要保证所上传的文件不重名,为此可以通过UUD等方式对上传的文件名称进行重命名。
错
参考答案:对
34、在后台处理中文名文件下载时,要将谷歌浏览器与其他浏器区分对待,使用不用的格式转码。
对
错
参考答案:错
- Spring的基本应用
习题
- 填空题
- 依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到【 Bean 】组件中。
- 在使用Spring框架之后,对象的实例不再由调用者来创建,而是由【 spring容器 】来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。
- 在Spring入门程序中只需将Spring的4个基础包以及【 commons-logging 】的JAR包复制到lib目录中,并发布到类路径下即可。
- 简单来说,BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用它们的【 生命周期 】方法。
- Spring开发所需的JAR包分为两个部分:【spring框架包】和【 第三方依赖包】。
- 判断题
- Spring中基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。( √ )
- 通常在Java项目中,会采用通过FileSystemXmlApplicationContext类来实例化ApplicationContext容器的方式。(ⅹ)
- 初学者学习Spring框架时,只需将Spring的4个基础包以及commons-logging.jar复制到项目的lib目录,并发布到类路径中即可。(√ )
- 依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到Bean组件中。( √ )
- Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块。( √ )
- 选择题
- 以下关于Spring核心容器相关说法错误的是。( )
A: Spring框架的所有功能都是通过其核心容器来实现的。
B: 创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理。
C: ApplicationContext不仅包含了BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持。
D: 通常在Java项目中,会采用通过ClassPathXmlApplicationContext类来实例化ApplicationContext容器的方式,而在Web项目中,ApplicationContext容器的实例化工作会交由Web服务器来完成。
- 以下有关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其它组件都要用到这个包里的类,是其它组件的基本核心。
- 以下有关Spring框架优点的说法正确的是。( )
A: Spring具有简单、可测试和松耦合等特点,从这个角度出发,Spring就是应用于任何Java应用的开发中;
B: Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性
C: Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,杜绝了组件之间的耦合性
D: Spring增加了Java EE开发中一些API的使用难度
- Spring的核心容器是其他模块建立的基础,以下哪个不是该容器的组成模块。( )
A: Beans模块
B: Core模块
C: Context模块
D: AOP模块
- 下列选项中,不属于Spring框架优点的是。( )
A: 提供强大的、可以有效减少页面代码的标签
B: 声明式事务的支持。
C: 方便解耦、简化开发
D: 方便集成各种优秀框架
- 简答题
- Spring依赖注入通常有哪些实现方式,列举并分别进行说明。
Spring的实现方式通常有两种,一种是属性setter方法注入,另一种是构造方法注入。
属性setter方法注入是指IoC容器使用setter方法来注入被依赖的实例。通过调用无参构造器或无参静态工厂方法实例化Bean后,调用该Bean的setter方法,即可实现基于setter方法的依赖注入。构造方法注入是指IoC容器使用构造方法来注入被依赖的实例。基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。
- Spring中的Bean
习题
- 填空题
- 所谓自动装配,就是将一个Bean自动的注入到到其他Bean的【 Property 】中。
- @Controller通常作用在控制层,如Spring MVC的【 Controller】,用于将控制层的类标识为Spring中的Bean,其功能与@Component 相同。
- 【 @Repository】注解用于将数据访问层(DAO层)的类标识为Spring中的Bean,其功能与@Component 相同。
- 对于【 prototype 】作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期。
- 实例工厂方式采用直接创建Bean实例的方式,在配置文件中,需要实例化的Bean是通过【 factory-bean 】属性指向配置的实例工厂,然后使用factory-method属性确定使用工厂中的哪个方法。
- 判断题
- @Component注解用于描述Spring中的Bean,它是一个泛化的概念,仅仅表示一个组件,并且可以作用在任何层次,使用时只需将该注解标注在相应方法上即可。( ⅹ )
- Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入。( ⅹ )
- 每次客户端请求singleton作用域的Bean时,Spring容器都会创建一个新的实例,并且不会管那些被配置成singleton作用域的Bean的生命周期。( ⅹ )
- Spring中使用prototype定义的Bean在Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指向同一个对象。( ⅹ )
- 对于prototype作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期。( √ )
- 选择题
- Spring的<bean>元素中的autowire属性取值不包括以下。( )
A: default B: byName C: byType D: byId
- 以下有关Bean的装配方式说法正确的是。( )
A: Spring容器支持多种形式的Bean的装配方式,如基于XML的装配、基于注解(Annotation)的装配和自动装配(其中最常用的是基于); XML的装配
B: Spring提供了3种基于XML的装配方式:设值注入、构造注入和; 属性注入
C: 在Spring实例化Bean的过程中,Spring首先会调用Bean的默认构造方法来实例化Bean对象,然后通过反射的方式调用setter方法来注入属性值;
D: 设值注入要求一个Bean必须提供一个构造方法并且为需要注入的属性提供对应的setter方法。有参
- 以下哪些不属于Spring 4.3版本中Bean的作用域。( )
A: application B: request C: response D: globalSession
- Spring中定义了一系列的注解,以下有关其常用的注解说明错误的是。( )
A: @Autowired用于对Bean的属性变量、属性的setter方法及构造方法进行标注,配合对应的注解处理器完成Bean的自动配置工作,默认按照Bean的进行装配。 名称
B: @Repository用于将数据访问层(DAO层)的类标识为Spring中的Bean。
C: @Service通常作用在业务层(Service层),用于将业务层的类标识为Spring中的Bean。
D: @Controller通常作用在控制层(如Spring MVC的Controller),用于将控制层的类标识为Spring中的Bean。
- 下列选项中,不属于Spring中实例化Bean的方式的是。( )
A: 构造器实例化 B: 静态工厂方式实例化
C: 实例工厂方式实例化 D: 抽象方法实例化
- 简答题
- 请简述基于XML的装配方式中设值注入的要求。
Spring中基于XML的装配方式中设值注入需要满足以下两点要求:
- Bean类必须提供一个默认的无参构造方法。
2、Bean类必须为需要注入的属性提供对应的setter方法。
- Spring AOP
习题
- 填空题
- AspectJ框架中注解【 @Pointcut 】用于定义切入点表达式,在使用时还需定义一个包含名字和任意参数的方法签名来表示切入点名称。
- 在Spring配置文件中,<aop:aspect>子元素的pointcut-ref属性用于指定一个已经存在的
【 切入点名称 】。
- 在Spring的配置文件中,配置切面使用的是【 <aop:aspect> 】元素。
- 在Spring中,使用【 ProxyFactoryBean 】是创建AOP代理的基本方式。
- AOP术语中【 Advice 】表示AOP框架在特定的切入点执行的增强处理,即在定义好的切入点处所要执行的程序代码。
- 判断题
- 如果在同一个连接点有多个通知需要执行,那么在同一切面中,目标方法之前的前置通知和环绕通知的执行顺序是未知的,目标方法之后的后置通知和环绕通知的执行顺序也是未知的。( √ )
- AspectJ框架中的注解@After用于定义最终final通知,不管是否异常,该通知都会执行。( √ )
- Spring配置文件中的<beans>元素下可以包含多个<aop:config>元素,一个<aop:config>元素中又可以包含属性和子元素,其子元素包括<aop:pointcut>、<aop:advisor>和<aop:aspect>。( √ )
- Spring中的AOP代理默认就是使用
代理的方式来实现的。( ⅹ )CGLIB - Spring
以后,Spring AOP引入了对AspectJ的支持,并允许直接使用AspectJ进行编程,而Spring自身的AOP API也尽量与AspectJ保持一致。(ⅹ)3.0
- 选择题
- 以下不属于ProxyFactoryBean类中的常用可配置属性的是。( )
A: target
B: proxyInterfaces
C: targetClass
D: interceptorNames
- 以下哪种类型不是Spring中的通知类型。( )
A: 异常通知
B: 前置通知
C: 后置通知
D: 最终通知
- 关于AspectJ注解的介绍,说法错误的是。( )
A: @Aspect用于定义一个切面
B: @Pointcut用于定义切入点表达式
C: @Before用于定义前置通知,相当于BeforeAdvice
D: @After用于定义后置通知,相当于AfterReturningAdvice
- 以下有关CGLIB代理相关说法正确的是。( )
A:代理的使用非常简单,但它还有一定的局限性——使用动态代理的对象必须实现一个或多个接口。 CGLIB
B: 如果要对没有实现接口的类进行代理,那么可以使用CGLIB代理。
C: CGLIB是一个高性能开源的代码生成包,在使用时另外导入CGLIB所需要的包。需要
D: Spring中的AOP代理,可以是JDK动态代理,也可以是CGLIB代理。
- 以下关于Spring AOP 的介绍错误的是。( )
A: AOP的全称是Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)。
B: AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,这种采用横向抽取机制的方式,采用OOP思想是无法办到的。
C: 虽然AOP是一种新的编程思想,采取横向抽取机制,是OOP的。 升级替代品
D: 目前最流行的AOP框架有两个,分别为Spring AOP和AspectJ。
- 简答题
- 请对Spring的通知类型进行简要说明。
Spring中主要包含5种通知类型,分别是环绕通知,前置通知,后置通知,异常通知和引介通知。
环绕通知:表示在目标方法执行前后实施增强,可以应用于日志、事务管理等功能。
前置通知:表示在目标方法执行前实施增强,可以应用于权限管理等功能。
后置通知:表示在目标方法执行后实施增强,可以应用于关闭流、上传文件、删除临时文件等功能。
异常通知:表示在方法抛出异常后实施增强,可以应用于处理异常记录日志等功能。
引介通知:表示在目标类中添加一些新的方法和属性,可以应用于修改老版本程序(增强类)。
- Spring的数据库开发
习题
- 填空题
- JdbcTemplate类中还提供了大量的【 query() 】方法来处理各种对数据库表的查询操作。
- JdbcTemplate类中的【update() 】方法可以完成插入、更新和删除数据的操作。
- 【@Test 】就是Junit4用来测试的注解,要测试哪个方法,只需要在相应测试的方法上添加此注解即可。
- JDBC连接数据库时需要4个基本属性,包括有【driverClassName 】、url、username和password。
- JdbcTemplate类的继承关系十分简单。它继承自抽象类【 JdbcAccessor 】,同时实现了JdbcOperations接口。
- 判断题
- 在使用Junit进行单一测试时,JUnit视图窗口的进度条为绿色表明运行结果正确;如果进度条为红色则表示有错误,并且会在窗口中显示所报的错误信息。( √ )
- 定义jdbcTemplate时,需要将dataSource注入到jdbcTemplate中。( √ )
- JdbcOperations接口定义了在JdbcTemplate类中可以使用的操作集合,包括添加、修改、查询和删除等操作。( √ )
- JdbcTemplate类中还提供了大量的query()方法来处理各种对数据库表的查询操作。( √ )
- 在JdbcTemplate类中,提供了大量的更新和查询数据库的方法,我们就是使用的这些方法来操作数据库的。( √ )
- 选择题
- Spring JDBC模块主要由4个包组成,其中不包括。( )
A: core(核心包)
B: dataSource(数据源包)
C: driverClass(数据库驱动包)
D: support(支持包)
- JdbcTemplate的直接父类是。( )
A: JdbcAccessor
B: JdbcOperations
C: JdbcSupper
D: Object
- JdbcTemplate类包含在Spring JDBC模块的哪个包中。( )
A: 核心包
B: 数据源包
C: 对象包
D: 支持包
- 下面关于update()方法描述错误的是。( )
A: update()方法可以完成插入、更新、删除和的操作查询数据
B: 在JdbcTemplate类中,提供了一系列的update()方法
C: update()方法执行后,会返回受影响的行数
D: update()方法返回的参数是int类型
- 下面描述中,关于query()方法说法错误的是。( )
A: List query(String sql, RowMapper rowMapper)会执行String类型参数提供的SQL语句,并通过RowMapper返回一个List类型的结果。
B: List query(String sql, PreparedStatementSetter pss, RowMapper rowMapper)会根据String类型参数提供的SQL语句创建PreparedStatement对象,通过RowMapper将结果返回到List中。
C: List query(String sql, Object[] args, RowMapper rowMapper)会将args参数绑定到SQL语句中,并通过RowMapper返回一个。Object类型的单行记录
D: queryForList(String sql,Object[] args, class<T> elementType)可以返回多行数据的结果,但必须是返回列表,elementType参数返回的是List元素类型。
- 简答题
- 请简述如何使用Junit对程序中的方法进行测试。
1、先创建一个普通测试方法,并在方法上添加单元测试的注解@Test;
2、添加@Test注解后,在注解处会报错,将鼠标移动至@Test注解处,会弹出错误提示框,单击提示框中的Add JUnit4 library to the build path后,Eclipse会自动将JUnit4的支持包加入到项目中;
3、在执行程序时,只需使用鼠标右键单击测试方法,在弹出的快捷菜单中选择Run As中的JUnit Test选项来运行测试方法即可。
- Spring的事务管理
习题
- 填空题
- 使用基于注解方式的事务管理需要在使用事务的Spring Bean类或者Bean类的方法上添加注解【@Transactional 】。
- Spring的声明式事务管理可以通过两种方式来实现,一种是基于XML的方式,另一种是基于【Annotation 】的方式。
- Spring2.0以后,提供了tx命名空间来配置事务,tx命名空间下提供了【 <tx:advice> 】元素来配置事务的通知(增强处理)。
- 在Spring的所有JAR包中,包含一个名为【spring-tx.RELEASE.jar 】的JAR包,该包就是Spring提供的用于事务管理的依赖包。
- 声明式事务管理:是通过【 AOP技术 】实现的事务管理。
- 判断题
- 基于XML方式的声明式事务管理是通过在配置文件中配置事务规则的相关声明来实现的。( √ )
- 编程式事务管理是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚。( √ )
- Spring的事务管理简化了传统的事务管理流程,并且在一定程度上减少了开发者的工作量。( √ )
- Spring的声明式事务管理可以通过两种方式来实现,一种是基于XML的方式,另一种是基于Annotation的方式。( √ )
- @Responsebody注解与@RequestMapping注解配合使用时,页面中将可以获取到方法的返回值。( √ )
- 选择题
- 以下关于@Transactional注解可配置的参数信息及秒正确的是。( )
A: value用于指定需要使用的事务管理器,默认为"";
B: read-only用于指定事务是否只读,默认为;true
C: isolation用于指定事务的隔离级别,默认为Isolation.;READ_COMMITTED
D: propagation用于指定事务的传播行为,默认为Propagation.; SUPPORTS
- 以下基于XML方式的声明式事务管理配置文件中<tx:advice>元素的子元素<tx:method>属性描述错误的是。( )
A: name:该属性为必选属性,它指定了与事务属性相关的方法名
B: propagation:用于指定事务的传播行为,它的默认值为SUPPORTS
C: isolation:该属性用于指定事务的隔离级别,其默认值为DEFAULT
D: read-only:该属性用于指定事务是否只读,其默认值为false
- 以下有关事务管理方式相关说法错误的是。( )
A: Spring中的事务管理分为两种方式:一种是传统的编程式事务管理,另一种是声明式事务管理。
B: 事务管理:是通过AOP技术实现的事务管理,就是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚。编程式
C: 声明式事务管理:其主要思想是将事务管理作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”代码植入到业务目标类中。
D: 声明式事务管理最大的优点在于开发者无需通过编程的方式来管理事务,只需在配置文件中进行相关的事务规则声明,就可以将事务规则应用到业务逻辑中。
- 以下有关Spring事务管理及核心接口说法错误的是。( )
A: PlatformTransactionManager接口是Spring提供的平台事务管理器,主要用于管理事务。
B: TransactionDefinition接口是事务定义(描述)的对象,该对象中定义了事务规则,并提供了获取事务相关信息的方法。
C: TransactionStatus接口是事务的状态,它描述了某一时间点上事务的状态信息。
D: 在事务管理过程中,传播行为可以控制是否需要创建事务以及如何创建事务,通常情况下,对于数据的、插入、更新和删除操作,必须进行事务管理。查询
- 下列选项中,哪一个不是Spring中事务管理的核心接口。( )
A: PlatformTransactionManager
B: TransactionDefinition
C: TransactionStatus
D: TransactionManager
- 简答题
- 请列举PlatformTransactionManager接口提供了有哪些事务操作方法,并对这些方法分别进行简单说明。
1)TransactionStatus getTransaction(TransactionDefinition definition ):用于获取事务状态信息。
2)void commit(TransactionStatus status):用于提交事务。
3)void rollback(TransactionStatus status):用于回滚事务。
- 初识MyBatis
习题
- 填空题
- MyBatis的删除操作在映射文件中是通过配置【 <delect> 】元素来实现的。
- MyBatis映射文件中<mapper>元素是配置文件的根元素,它包含一个【 namespace 】属性,该属性为这个<mapper>指定了唯一的命名空间。
- 使用MySQL中的【 concat() 】函数进行字符串拼接,可以有效防止模糊查询时可能出现的SQL注入问题。
- mybatis-config.xml作为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,其中主要内容是获取【 数据库连接 】。
- 【 Mybatis 】是当前主流的Java持久层框架之一,它与Hibernate一样,也是一种ORM框架。
- 判断题
- MyBatis映射文件中
元素是配置文件的根元素,它包含一个namespace属性,该属性为这个<mapper>指定了唯一的命名空间。( ⅹ )<mappers> - 使用MyBatis框架非常简单,只需在应用程序中引入MyBatis框架lib目录中的全部JAR包以及数据库驱动包即可进行项目运行。( ⅹ )(还有Mybatis的核心JAR包)
- ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述Java对象与数据库表之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中。( √ )
- MyBatis的更新操作也需要进行事务提交。( √ )
- 创建的映射文件中的SQL语句要以面向对象的写法进行书写。( ⅹ )
- 选择题
- MyBatis的删除操作有关说发错误的是。( )
A: MyBatis的删除操作在映射文件中是通过配置<delete>元素来实现的。
B: MyBatis的删除操作也需要进行事务提交。
C: MyBatis的删除操作执行了SqlSession的delete()方法。
D: MyBatis的删除操作和添加操作时,也需要封装整个实体类。
- MyBatis的更新操作有关说发错误的是。( )
A: MyBatis的更新操作在映射文件中是通过配置<update>元素来实现的 。
B: MyBatis的更新操作也需要进行事务提交。
C: MyBatis的更新操作执行了SqlSession的update()方法 。
D: MyBatis的更新操作和添加操作时,只需要将insert()方法改为updat()方法即可。
- 关于MyBatis模糊查询中进行SQL字符串拼接时,说法错误的是。( )
A: 使用“${}”进行SQL字符串拼接时,无法防止SQL注入问题。
B: 可以使用MySQL中的concat()函数进行字符串拼接。
C: 使用MySQL中的concat()函数进行字符串拼接,也无法防止SQL注入。
D: 使用MySQL中的concat()函数进行字符串拼接,导致数据库移植性变差。
- 有关MyBatis工作原理说法错误的是。( )
A: MyBatis的全局配置文件配置了MyBatis的运行环境等信息,其中主要内容是获取数据库连接
B: MyBatis映射文件中配置了操作数据库的SQL语句,需要在MyBatis的全局配置文件中加载才能执行
C: 可以通过MyBatis的环境等配置信息构建会话对象SqlSession
D: SqlSession对象,该对象中包含了执行SQL的所有方法
- 使用ORM框架后,应用程序不再直接访问底层数据库,而是以()的方式来操作持久化对象(PO,即Persisent Object)。( )
A: 面向业务B: Hibernate C: 面向对象 D: MyBatis
- 简答题
- 请简述Hibernate和MyBatis这两个框架的主要区别。
Hibernate是一个全表映射的框架。通常开发者只需定义好持久化对象到数据库表的映射关系,就可以通过Hibernate提供的方法完成持久层操作,开发者并不需要熟练的掌握SQL语句的编写,所以其开发效率会高于MyBatis。而Hibernate自身也存在着一些缺点,例如它在多表关联时,对SQL查询的支持较差;更新数据时,需要发送所有字段;不支持存储过程;不能通过优化SQL来优化性能等。这些问题导致其只适合在场景不太复杂且对性能要求不高的项目中使用。
MyBatis是一个半自动映射的框架。这里所谓的“半自动”是相对于Hibernate全表映射而言的。与Hibernate相比,虽然使用MyBatis手动编写SQL要比使用Hibernate的工作量大,但MyBatis可以配置动态SQL并优化SQL,可以通过配置决定SQL的映射规则,它还支持存储过程等。对于一些复杂的和需要优化性能的项目来说,显然使用MyBatis更加合适。
- MyBatis的核心配置
习题
- 填空题
- 当数据表中的列和需要返回的对象的属性不完全一致, MyBatis是不会自动赋值的。此时,就可以使用【 <resultMap> 】元素进行处理。
- <resultMap>元素的子元素<id>用于表示哪个列是【 主键 】,而【<result> 】元素用于表示POJO和数据表中普通列的映射关系。
- MyBaits映射文件中使用<include>元素的【 refid 】属性可以引用自定义的代码片段,其属性值为自定义代码片段的id。
- MyBatis映射文件中<insert>的<selectKey>子元素的order属性可以被设置为【 BEFORE 】或【 AFTER 】。
- 对于数据源的配置,MyBatis框架提供了UNPOOLED、【 POOIED 】和JNDI三种数据源类型。
- 判断题
- <resultMap>的子元素<association>和<collection>用于处理多表时的关联关系。( √ )
- MyBatis映射文件的<insert>元素的属性与<select>元素的属性大部分相同,但还包含了3个特有属性。( √ )
- MyBatis框架提供了许多默认别名,由于别名不区分大小写,所以在使用时要注意重复定义的覆盖问题。( √ )
- 映射文件中可以包含多个id值相同的<resultMap>元素。( ⅹ )
- 与<insert>元素一样,<update>和<delete>元素在执行完之后,也会返回一个表示影响记录条数的整数。( √ )
- 选择题
- 以下有关<sql>元素说法错误的是。( )
A: <sql>元素的作用就是定义可重用的SQL代码片段,然后在其他语句中引用这一代码片段。
B: 使用<include>元素的refid属性可以引用自定义的代码片段。
C: 使用<include>元素refid的属性值为自定义代码片段的。name
D: <sql>元素是<mapper>元素的子元素。
- 以下有关MyBatis映射文件中<insert>元素说法正确的是。( )
A: <insert>元素用于映射插入语句,在执行完元素中定义的SQL语句后,。没有返回结果
B: <insert>元素的属性与<select>元素的属性。相同
C: keyColumn属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置。
D: useGeneratedKeys()此属性会使MyBatis使用JDBC的getGeneratedKeys()方法来获取由数据库内部生产的主键。仅对insert有用
- 以下关于<select>元素及其属性说法错误的是。( )
A: <select>元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组装数据给业务开发人员。
B: parameterType属性表示传入SQL语句的参数类的全限定名或者别名。
C: resultMap表示外部resultMap的命名引用,返回时可以同时使用resultType和resultMap
D: 在同一个映射文件中可以配置多个<select>元素。
- 关于<typeHandlers>元素说法错误的是。( )
A: <typeHandler>元素就是用来在配置文件中注册自定义的类型处理器的,它的使用方式有两种。
B: 通过<typeHandlers>元素的子元素<typeHandler>就可以配置单个类型处理器。
C: 通过<typeHandlers>元素的子元素<package>可以配置包下的所有类型处理器。
D: <typeHandlers>元素的子元素<package>的handler属性用于指定类型处理器所在的包名,系统会在启动时自动的扫描com.itheima.type包下所有的文件,并把它们作为类型处理器。
- 有关MyBatis配置文件中<settings>元素的说法错误的是。( )
A: <settings>元素主要用于改变MyBatis运行时的行为,例如开启二级缓存、开启延迟加载等。
B: 虽然不配置<settings>元素,也可以正常运行MyBatis,但是熟悉<settings>的配置内容以及它们的作用还是十分必要的。
C: <settings>元素中延迟加载的全局开关的参数lazyLoadingEnabled默认。开启
D: <settings>元素的配置内容大多数都不需要开发人员去配置它,通常在需要时只配置少数几项即可。
- 简答题
- 请简述<sql>元素的作用及使用。
<sql>元素的作用就是定义可重用的SQL代码片段。使用时,先通过<sql>元素定义重用的代码片段,然后在需要使用的地方使用<include>元素的refid属性引用了自定义的代码片段。
- 动态SQL
习题
- 填空题
- 当在MyBaits文件中使用了<bind>元素,在SQL语句中可以直接引用<bind>元素的【 name 】属性值即可进行动态SQL组装。
- 在使用MyBaits的<foreach>时,如果传入的参数是多个的时候,就需要把它们封装成一个Map了,这时候collection属性值就为Map的【键 】。
- 在MyBaits映射文件中使用<set>和<if>元素组合进行update语句动态SQL组装时,如果<set>元素内包含的内容都为空,则会出现【 SQL语法错误 】。
- MyBaits中<trim>元素的作用是去除一些特殊的字符串,它的【 prefix 】属性代表的是语句的前缀,而prefixOverrides属性代表的是需要去除的哪些特殊字符串。
- 使用<set>和<if>元素相结合的方式来组装update语句时,<set>元素就会动态前置【 SET 】关键字,同时也会消除SQL语句中最后一个多余的【 逗号 】。
- 判断题
- 可以将任何可迭代对象(如列表、集合等)和任何的字典或者数组对象传递给<foreach>作为集合参数。( √ )
- 在MyBaits映射文件中使用<set>和<if>元素组合进行update语句动态SQL组装时,如果<set>元素内包含的内容都为空,则会出现SQL语法错误。( √ )
- MyBaits中对原始SQL中的“where 1=1”的条件可以使用<where>与<if>元素组合进行替换。( √ )
- 在MyBatis中<if>元素用于单条件分支判断,当某个<if>的test属性判断成立,然后跳过其他<if>元素进行动态SQL组装。( ⅹ )
- MyBatis中的<foreach>元素可以用于对数组和集合循环遍历,批量执行SQL操作。( √ )
- 选择题
- 以下不属于<foreach>元素中使用的属性的是。( )
A: separator
B: collection
C: current
D: item
- 以下关于<foreach>元素中使用的几种属性的描述错误的是。( )
A: item:配置的是循环中当前的元素。
B: index:配置的是当前元素在集合的位置下标。
C: collection:配置的是传递过来的参数类型,它可以是一个array、list(或collection)、Map集合的键、POJO包装类中数组或集合类型的属性名等。
D: separator:配置的是各个元素的间隔符。
- 以下关于MyBatis的<set>元素的使用及说法正确的是。( )
A: <set>元素主要用于更新操作,其主要作用是在动态包含的SQL语句前输出一个SET关键字,并将SQL语句中最后一个多余的逗号去除。
B: 使用MyBatis的<set>元素来更新操作时,前端,否则未传入字段会默认设置为空。需要传入所有参数字段
C: 在映射文件中使用<set>和<if>元素组合进行update语句动态SQL组装时, <set>元素内包含的内容,<if>元素会进行判断处理。可以都为空
D: 在映射文件进行更新操作时,使用<set>元素就可以进行动态SQL组装。只需要
- 以下有关MyBatis动态SQL中的主要元素说法错误的是。( )
A: <if>用于单条件分支判断。
B: <choose>(<when>、<otherwise>)用于多条件分支判断。
C: <foreach>循环语句,常用于in语句等列举条件中。
D: <bind>从OGNL表达式中创建一个变量,并将其绑定到上下文,。只于模糊查询的sql中
- 当有多个选择的情况是,值需要从多个选项中选择一个去执行时,可以使用的动态SQL元素是。( )
A: <if>
B: <choose>、<when>、<otherwise>
C: <when>
D: <set>
- 简答题
- 请简述MyBatis动态SQL中的主要元素及说明。
<if>:判断语句,用于单条件分支判断;
<choose>(<when>、<otherwise>):相当于Java中的switch...case...default语句,用于多条件分支判断;
<where>、<trim>、<set>:辅助元素,用于处理一些SQL拼装、特殊字符问题;
<foreach>:循环语句,常用于in语句等列举条件中;
<bind>:从OGNL表达式中创建一个变量,并将其绑定到上下文,常用于模糊查询的sql中。
- MyBatis的关联映射
习题
- 填空题
- MyBatis是通过<resultMap>元素的【 <collection> 】子元素该元素来处理多对多关联关系的。
- MyBatis是通过<resultMap>元素的【 <association> 】子元素该元素来处理一对一关联关系的。
- 在关系型数据库中,多对多关系会产生【中间关系 】表,引入两张表的主键作为外键,两个主键成为联合主键或使用新的字段作为主键。
- 在关系型数据库中,一对一可以在【 任意一方 】引入对方主键作为外键。
- <collection>子元素的ofType属性与javaType属性对应,它用于指定实体对象中集合类属性所包含的【 元素类型 】。
- 判断题
- MyBatis是同样是通过<resultMap>元素的<collection>子元素该元素来处理多对多关联关系的。( √ )
- MyBatis在映射文件中加载关联关系对象主要通过两种方式:嵌套查询和嵌套结果。( √ )
- 在关系型数据库中,一对多就是在“一”的一方,添加“多”的一方的主键作为外键。( ⅹ )
- MyBatis中<collection>元素的属性与<association>元素相同,且使用也很简单,同样有嵌套查询和嵌套结果两种关联方式。( ⅹ )
- MyBatis是通过<resultMap>元素的<association>子元素该元素来处理一对一关联关系的。( √ )
- 选择题
- 以下关于MyBatis映射文件中<association>元素属性的说明错误的是。( )
A: property:指定映射到的实体类对象属性,与表字段一一对应。
B: column:指定表中对应的字段。
C: javaType:指定映射到实体对象属性的类型。
D: fetchType:指定在关联查询时是否启用延迟加载。fetchType属性有lazy和eager两个属性值,默认值为eager。
- 下面关于数据库中多表之间关联关系说法错误的是。( )
A: 一对一关联关系可以在任意一方引入对方主键作为外键。
B: 一对多关联关系在“一”的一方,添加“多”的一方的主键作为外键。
C: 多对多关联关系会产生中间关系表,引入两张表的主键作为外键。
D: 多对多关联关系的两个表的主键成可以为联合主键或使用新的字段作为主键。
- 下面关于Java对象之间的关联关系描述正确的是。( )
A: 一对一的关系就是在本类和对方类中定义同一个类型的对象。
B: 一对多的关系就是一个A类类型对应多个B类类型的情况。
C: 多对多的关系只需要在一方的类中引入另一方类型的集合。
D: 多对多关联关系需要在本类中引入本类的集合。
- 下面属性中不属于<association>元素属性的是。( )
A: property
B: column
C: ofType
D: javaType
- 下面关于<collection>元素的描述正确的是。( )
A: MyBatis就是通过<collection>元素来处理一对多关联关系的。
B: <collection>元素的属性与<association>元素完全相同。
C: ofType属性与javaType属性对应,它用于指定实体对象中所有属性所包含的元素类型。
D: <collection >元素只能使用嵌套查询方式。
- 简答题
- 请简要说明MyBatis在映射文件中加载关联关系对象的方式。
答案
- 填空题
- <collection>
- <association>
- 中间关系
- 任意一方
- 元素类型
- 判断题
- 对
- 对
- 错
- 错
- 对
- 选择题
- D
- B
- B
- C
- A
- 简答题
MyBatis在映射文件中加载关联关系对象主要通过两种方式:嵌套查询和嵌套结果。嵌套查询是指通过执行另外一条SQL映射语句来返回预期的复杂类型;嵌套结果是使用嵌套结果映射来处理重复的联合结果的子集。
- MyBatis与Spring的整合
习题
- 填空题
- 在MyBatis+Spring的项目中,事务是由【 】来管理的。
- MyBatis-Spring团队提供了一种自动扫描的形式来配置MyBatis中的映射器——采用【 】类。
- 【 】是MyBatis-Spring团队提供的一个用于根据Mapper接口生成Mapper对象的类。
- SqlSessionDaoSupport是一个抽象支持类,可以通过SqlSessionDaoSupport类的【 】方法来获取所需的SqlSession。
- 在进行Spring与MyBatis整合时,Spring框架所需要准备的JAR包共10个,其中包括:4个核心模块JAR,AOP开发使用的JAR,【 】和事务的JAR。
- 判断题
- MapperFactoryBean的参数SqlSessionTemplate用于指定SqlSessionTemplate。如果与SqlSessionFactory同时设定,则只会启用SqlSessionFactory。( )
- MyBaits与Spring进行整合时,Dao层开发可以使用传统的DAO方式的开发整合,以及Mapper接口方式的开发整合。( )
- 可以使用mybatis-spring包中所提供的SqlSessionTemplate类或SqlSessionDaoSupport类来实现向DAO实现类中注入SqlSessionFactory。( )
- 在实际的项目开发中,Spring与MyBatis都是整合在一起使用的。( )
- MapperFactoryBean是MyBatis-Spring团队提供的一个用于根据Mapper接口生成Mapper对象的类。( )
- 选择题
- MapperFactoryBean是MyBatis-Spring团队提供的用于根据Mapper接口生成Mapper对象的类,该类在Spring配置文件中可以配置的参数不包括。( )
A: mapperInterface
B: SqlSessionFactory
C: SqlSessionTemplate
D: basePackage
- MapperScannerConfigurer类在Spring配置文件中使用时,可以配置的属性及说明错误的是。( )
A: basePackage:指定映射接口文件所在的包路径,当需要扫描多个包时可以使用分号或逗号作为分隔符。
B: annotationClass:指定了要扫描的注解名称,只有被注解标识的类才会被配置为映射器。
C: sqlSessionFactoryBeanName:指定在Spring中定义的SqlSessionFactory的Bean名称。
D: sqlSessionTemplateBeanName:指定在Spring中定义的SqlSessionTemplate的Bean名称。如果定义此属性,则sqlSessionFactoryBeanName将起作用
- 在MyBatis+Spring的项目中,以下有关事务的相关说法正确的是。( )
A: 在MyBatis+Spring的项目中,事务是由MyBatis来管理的。
B: 在项目中,数据访问层既是处理业务的地方,又是管理数据库事务的地方。
C: 进行注解开发时,需要在配置文件中配置事务管理器并开启事务注解。
D: 进行注解开发时,需要使用@Transactional注解来标识表现层中的类。
- 以下不属于MapperScannerConfigurer类,在Spring配置文件中使用时需要配置的属性的是。( )
A: basePackage
B: annotationClass
C: sqlSessionFactoryBeanName
D: mapperInterface
- 以下有关采用传统DAO开发方式进行MyBatis与Spring框架的整合的说法错误的是。( )
A: 采用传统DAO开发方式进行MyBatis与Spring框架的整合时,只需要编写DAO接口。
B: 采用传统DAO开发方式进行MyBatis与Spring框架的整合时,需要向DAO实现类中注入SqlSessionFactory,然后在方法体内通过SqlSessionFactory创建SqlSession。
C: 可以使用mybatis-spring包中所提供的SqlSessionTemplate类或SqlSessionDaoSupport类来实现在类中注入SqlSessionFactory。
D: SqlSessionDaoSupport是一个抽象支持类,它继承了DaoSupport类,主要是作为DAO的基类来使用。可以通过SqlSessionDaoSupport类的getSqlSession()方法来获取所需的SqlSession。
- 简答题
- 请对mybatis-spring包中所提供的两个类SqlSessionTemplate和SqlSessionDaoSupport进简要介绍。
答案
- 填空题
- Spring
- MapperScannerConfigurer
- MapperFactoryBean
- getSqlSession()
- JDBC
- 判断题
- 错
- 对
- 对
- 对
- 对
- 选择题
- D
- D
- C
- D
- A
- 简答题
SqlSessionTemplate是mybatis-spring的核心类,它负责管理MyBatis的SqlSession,调用MyBatis的SQL方法,当调用SQL方法时,SqlSessionTemplate将会保证使用的SqlSession和当前Spring的事务是相关的;SqlSessionDaoSupport是一个抽象支持类,它继承了DaoSupport类,主要是作为DAO的基类来使用。
- Spring MVC入门
习题
- 填空题
- 前端控制器拦截请求后,会调用【 】。
- Spring MVC支持多种视图技术,包括【 】、Velocity和FreeMarker等。
- Spring MVC的配置文件中,可以配置处理器映射、处理器映射器、处理器适配器和【 】。
- Spring MVC提供了一个前端控制器【 】,使开发人员无需额外开发控制器对象。
- 在Spring MVC的执行流程中,Controller执行完成后,会返回一个【 】对象。
- 判断题
- HandlerAdapter将ModelAndView对象返回给ViewReslover。( )
- Spring4.3版本的配置文件中,必须要配置处理器映射器、处理器适配器和视图解析器,否则程序将无法运行。( )
- <load-on-startup>元素中的1表示容器在启动时立即加载这个Servlet。( )
- Spring MVC支持JSP、Velocity、XML和FreeMarker等视图技术。( )
- Spring MVC的灵活性比较弱,易于与其他框架集成。( )
- 选择题
- 下面关于Spring MVC特点说法错误的是。( )
A: 灵活性强,但不易于与其他框架集成
B: 可自动绑定用户输入,并能正确的转换数据类型
C: 支持国际化
D: 使用基于XML的配置文件,在编辑后,不需要重新编译应用程序
- Spring MVC中的后端控制器是指。( )
A: HandlerAdapter
B: DispatcherServlet
C: ViewReslover
D: Handler
- 用户通过浏览器向服务器发送请求时,负责拦截用户请求的是。( )
A: 处理器
B: 处理器映射器
C: 处理器适配器
D: 前端控制器
- 入门程序中,不是必须引入的JAR包是。( )
A: Spring的4个核心JAR包
B: commons-logging的JAR包
C: spring-web和spring-webmvc的JAR包
D: log4j的JAR
- Spring MVC是Spring提供的一个实现了( )设计模式的轻量级Web框架。
A: Web MVC
B: Web
C: 单例
D: 工厂
- 简答题
- 请简述Spring MVC的特点。
答案
- 填空题
- HandlerMapping
- JSP
- 视图解析器
- DispatcherServlet
- ModelAndView
- 判断题
- 错
- 错
- 对
- 错
- 错
- 选择题
- A
- D
- D
- D
- A
- 简答题
1.是Spring框架的一部分,可以方便的利用Spring所提供的其他功能。
2.灵活性强,易于与其他框架集成。
3.提供了一个前端控制器DispatcherServlet,使开发人员无需额外开发控制器对象。
4.可自动绑定用户输入,并能正确的转换数据类型。
5.内置了常见的校验器,可以校验用户输入。如果校验不能通过,那么就会重定向到输入表单。
6.支持国际化。可以根据用户区域显示多国语言。
- Spring MVC的核心类和注解
习题
- 填空题
- RequestMapping注解类型用于映射【 】。
- 在使用Spring MVC的注解开发时,除了需要引入Spring的核心JAR包、Commons-logging的JAR包以及Spring MVC的2个JAR包外,还需要引入【 】的JAR包。
- 在视图解析器配置中,可以设置视图的【 】。
- 如果没有通过<init-param>元素配置,则应用程序会默认去【 】寻找配置文件。
- 如果<load-on-startup>元素不存在,则应用程序会【 】加载该Servlet。
- 判断题
- 在控制器类中,每一个请求处理方法都可以有多个不同类型的参数,以及一个多种类型的返回结果。( )
- @RequestMapping的method属性必须使用。( )
- @RequestMapping(method = RequestMethod.GET)可以缩写为@GetMapping。( )
- @RequestMapping注解的属性都是可选属性。( )
- Web.xml文件中必须使用<load-on-startup>元素和<init-param>元素,否则文件会报错。( )
- 选择题
- 下面关于请求处理方法返回类型说法错误的是。( )
A: 常见的返回类型是ModelAndView、String和void
B: ModelAndView类型中可以添加Model数据,并指定视图
C: String类型的返回值可以跳转视图,但不能携带数据
D: void类型主要在异步请求时使用,它既返回数据,又跳转视图
- 下面类型中,不属于请求处理方法参数类型的是。( )
A: javax.servlet.http.HttpSession
B: @MatrixVariable
C: org.springframework.ui.Model
D: void
- 下面关于组合注解的说法正确的是。( )
A: 组合注解是Spring3.x版本中的新特性
B: 组合注解可以简化常用的HTTP方法的映射
C: 在所有的Spring项目中,使用组合注解可以替代@RequestMapping注解
D: @GetMapping注解可以用来匹配GET和POST方式的请求
- 下面关于@RequestMapping注解说法错误的是。( )
A: @RequestMapping注解的默认属性是value
B: @RequestMapping注解的value属性值可以省略
C: @RequestMapping注解的value属性名可以省略
D: @RequestMapping注解的value属性必须标注
- 下面关于<load-on-startup>元素说法错误的是。( )
A: 如果<load-on-startup>元素的值为1,则在应用程序启动时会立即加载该Servlet
B: 如果<load-on-startup>元素不存在,则应用程序会在第一个Servlet请求时加载该Servlet
C: 如果<load-on-startup>元素的值为1,则在应用程序启动时会延迟加载该Servlet
D: <load-on-startup>元素是可选的
- 简答题
- 请简述ModelAndView、String和void三种返回类型的作用。
答案
- 填空题
- 一个请求或一个方法
- Spring AOP
- 前缀和后缀
- WEB-INF目录下
- 在第一个Servlet请求时
- 判断题
- 对
- 错
- 对
- 对
- 错
- 选择题
- D
- D
- B
- D
- C
- 简答题
ModelAndView类型中可以添加Model数据,并指定视图;String类型的返回值可以跳转视图,但不能携带数据;而void类型主要在异步请求时使用,它只返回数据,而不会跳转视图。
- 数据绑定
习题
- 填空题
- 在使用集合数据绑定时,后台方法中不支持直接使用集合形参进行数据绑定,所以需要使用包装POJO作为形参,然后在包装POJO中包装一个【 】属性。
- 使用包装POJO类型数据绑定时,如果前端条件参数是包装类中POJO的子属性,则参数名必须为【 】。
- 当前端请求的参数比较简单时,可以在后台方法的形参中直接使用Spring MVC提供的【 】类型进行数据绑定。
- 如果将订单和用户的所有查询条件都封装在一个简单POJO中,显然会比较混乱,这时就可以考虑使用【 】类型的数据绑定。
- 在使用POJO类型数据绑定时,前端请求的参数名必须与要绑定的POJO类中的【 】一样,这样才会自动将请求数据绑定到POJO对象中,否则后台接收的参数值为【 】。
- 判断题
- 绑定数组与绑定集合页面传递的参数相同,只是后台接收方法的参数不同。( )
- 要使用集合数据绑定,需要在包装类中定义一个包含用户信息类的集合,然后在接收方法中将参数类型定义为该包装类的集合。( )
- 在执行绑定数组操作中,前台页面中复选框中传递的name属性值必须相同。( )
- 注册自定义的Formatter转换器类时,Bean的类名必须是org.springframework.format.support.FormattingConversionServiceFactoryBean,并且其属性为formatters。( )
- Formatter与Converter的作用相同,只是Formatter的源类型可以是任意类型,而Converter必须是一个String类型。( )
- 选择题
- 以下有关Spring MVC数据绑定中集合数据绑定的说法正确的是。( )
A:批量删除用户操作时,前端请求传递过来的参数就会包含多个相同类型的数据,此时可以采用数组类型数据绑定的形式
B:使用集合数据绑定需要后台方法中定义一个集合类型参数介绍绑定前端请求参数
C:绑定数组与绑定集合页面传递的参数相同,只是后台接收方法的参数不同
D:在使用集合数据绑定时,后台方法中不支持直接使用集合形参进行数据绑定
- 下面选项中,哪一个是Spring的编码过滤器类。( )
A: org.springframework.web.filter.EncodingFilter
B: org.springframework.web.filter.CharacterEncodingFilter
C: org.springframework.web.filter.CharacterEncoding
D: org.springframework.web.filter.CharacterFilter
- @RequestParam注解中可以省略属性名称的是。( )
A: defaultValue
B: value
C: name
D: required
- 下面关于包装POJO类型数据绑定的说法正确的是。( )
A: 如果查询条件参数是包装类的直接基本属性,则参数名直接用对应的属性名
B: 如果查询条件参数是包装类的直接基本属性,则参数名必须使用对应的“对象.属性名”
C: 如果查询条件参数是包装类中POJO的子属性,则参数名必须为属性名
D: 如果查询条件参数是包装类中POJO的子属性,则参数名必须为“对象.子属性.属性值”的形式
- 下面不属于@RequestParam注解类型属性的是。( )
A: id
B: value
C: name
D: required
- 简答题
- 为什么需要自定义数据绑定?
答案
- 填空题
- 集合
- 对象.属性
- 默认参数
- 包装POJO
- 属性名 null
- 判断题
- 错
- 对
- 对
- 对
- 错
- 选择题
- D
- B
- B
- A
- A
- 简答题
一般情况下,使用基本数据类型和POJO类型的参数数据已经能够满足需求,然而有些特殊类型的参数是无法在后台进行直接转换的,例如日期数据就需要开发者自定义转换器(Converter)或格式化(Formatter)来进行数据绑定。
- JSON数据绑定和RESTful支持
习题
- 填空题
- RESTful风格在HTTP请求中,使用【 】、delete、post和get方式分别对应添加、删除、修改和查询的操作。
- 使用<bean>标签配置方式配置JSON转换器时,需要同时配置处理器映射器和处理器适配器,并且JSON转换器是配置在【 】中。
- JSON对象的数组结构以“[”开始,以“]”结束,中间部分由【 】以英文“,”分隔的值的列表组成。
- @PathVariable注解用于接收并绑定请求参数,它可以将请求URL中的【 】到方法的形参上。
- RESTful风格在HTTP请求中,不能够出现【 】。
- 判断题
- @PathVariable("id")注解用于接收并绑定请求参数,如果请求路径中的参数名方法形参名称一样,则@PathVariable后面的“(“id”)”可以省略。( )
- JSON对象数据结构的关键字(key)必须为String类型,值(value)可以是String、Number、Object、Array等数据类型。( )
- RESTful风格在HTTP请求中,使用put、delete、post和get方式分别对应添加、删除、修改和查询的操作。( )
- RESTful也称之为REST,是英文“Representational State Transfer”的简称。( )
- MappingJackson2HttpMessageConverter类只能将Java对象转换为JSON对象和XML文档,不能将JSON对象和XML文档转换为Java对象。( )
- 选择题
- 针对GET方式RESTful风格的请求http://localhost:8080/chapter14/user/1,后台方法接收参数的路径映射写法可行的是。( )
A: @RequestMapping("/user/{id}",method=RequestMethod.GET)。
B: @RequestMapping(value="/user/ids")。
C: @GetMapping(value="/user/{ids}")。
D: @GetMapping(value="/user/{id}",method=RequestMethod.GET)
- 下面属于RESTful风格请求的是。( )
A: http://.../queryItems?id=1
B: http://.../queryItems?id=1&name=zhangsan
C: http://.../items/1
D: http://.../queryitems/1
- 下面不属于AJAX中的属性的是。( )
A: data
B: contentType
C: dataType
D: database
- 下面选项中不属于Jackson的开源包的是。( )
A: jackson-annoations-2.8.8.jar
B: jackson-core-2.8.8.jar
C: jackson-databind-2.8.8.jar
D: jackson-data-2.8.8.jar
- JSON对象结构中,关键字key必须为。( )类型
A: Object
B: Array
C: String
D: Number
- 简答题
- 请简述Spring中HttpMessageConverter<T>接口的主要作用。
答案
- 填空题
- put
- 适配器
- 0个或多个
- 变量映射
- 动词
- 判断题
- 对
- 对
- 对
- 对
- 错
- 选择题
- C
- C
- D
- D
- C
- 简答题
1.为了实现浏览器与控制器类(Controller)之间的数据交互,Spring提供了一个HttpMessageConverter<T>接口来完成此项工作。该接口主要用于将请求信息中的数据转换为一个类型为T的对象,并将类型为T的对象绑定到请求方法的参数中,或者将对象转换为响应信息传递给浏览器显示。
- 拦截器
习题
- 填空题
- Spring MVC单个拦截器执行顺序中,在【 】处理完请求后,才会执行afterCompletion()方法。
- Spring MVC中的拦截器(Interceptor)类似于Servlet中的【 】,它主要用于拦截用户请求并作相应的处理。
- 用于如果没有登录系统而直接访问主页面,拦截器会将请求拦截,并转发到【 】。
- 当有多个拦截器同时工作时,它们的【 】方法会按照配置文件中拦截器的配置顺序执行。
- 如果拦截器类中的preHandle()方法的返回值为【 】,则程序会继续向下执行处理器中的方法。
- 判断题
- 在实现用户登录权限验证中,需要定义一个登录拦截器,并在拦截器的postHandle()方法中编写业务逻辑进行登录控制。( )
- 配置拦截器时,必须将path的属性值设置为/**。( )
- 多个拦截器时,postHandle()方法和afterCompletion()方法则会按照配置顺序执行。( )
- 全局拦截器和指定路径下的拦截器不能够同时配置,否则运行时会报错。( )
- <mvc:interceptor>中的子元素可以按照任意位置编写。( )
- 选择题
- 以下有关Spring MVC配置文件中拦截器的配置说法错误的是。( )
A: 要使用Spring MVC中拦截器,要先自定义拦截器还需要在配置文件中进行配置。
B: <mvc:interceptors>元素用于配置一组拦截器,其子元素<bean>中定义的是指定路径的拦截器。
C: <mvc:interceptors>元素中可以同时配置多个<mvc:interceptor>子元素。
D: <mvc:exclude-mapping>元素用于配置不需要拦截的路径请求。
- 下面不属于拦截器类中的方法的是。( )
A: preHandler()
B: postHandle()
C: afterCompletion()
D: afterpletion()
- 以下哪个方法可以定义Spring MVC中的拦截器。( )
A: 继承HandlerInterceptor
B: 实现WebRequestInterceptor
C: 实现HandlerInterceptorAdapter
D: 继承WebRequestInterceptor
- 下列关于拦截器的执行流程说法错误的是。( )
A:程序首先会执行拦截器类中的preHandle()方法。
B:如果preHandle()方法的返回值为true,则程序会继续向下执行处理器中的方法,否则将不再向下执行。
C:在业务处理器(即控制器Controller类)处理完请求后,会执行preHandle()方法。
D:在DispatcherServlet处理完请求后,才会执行afterCompletion()方法。
- 关于用户权限验证的执行流程,说法错误的是。( )
A:只有登录后的用户才能访问系统中的主页面。
B:如果没有登录系统而直接访问主页面,则拦截器会将请求拦截,并转发到登录页面。
C:如果用户名或密码错误,会在登录页面给出相应的提示信息。
D:当已登录的用户在系统主页中单击“退出”链接时,系统会回到主页面。
- 简答题
- 请简述拦截器HandlerInterceptor接口中的方法并做说明。
答案
- 填空题
- DispatcherServlet
- 过滤器或Filter
- 登录页面
- preHandle()
- true
- 判断题
- 错
- 错
- 错
- 错
- 错
- 选择题
- B
- D
- D
- C
- D
- 简答题
HandlerInterceptor接口中有3个方法:
1、preHandler()方法:该方法会在控制器方法前执行,其返回值表示是否中断后续操作。当其返回值为true时,表示继续向下执行;当其返回值为false时,会中断后续的所有操作。
2、postHandle()方法:该方法会在控制器方法调用之后,且解析视图之前执行。可以通过此方法对请求域中的模型和视图做出进一步的修改。
3、afterCompletion()方法:该方法会在整个请求完成,即视图渲染结束之后执行。可以通过此方法实现一些资源清理、记录日志信息等工作。
- 文件上传和下载
习题
- 填空题
- 由于不同版本的IE浏览器,请求代理【 】中的关键字也略有不同。
- ResponseEntity对象的作用有些类似于@ResponseBody注解,它用于直接返回【 】。
- 由于各个浏览器【 】的不同,就会出现不同的乱码以及解析异常问题。
- 使用Servlet API中提供的URLEncoder类中的【 】方法将中文转为UTF-8编码。
- HttpStatus类型代表的是Http协议中的状态,示例中的HttpStatus.OK表示【 】,即服务器已成功处理了请求。
- 判断题
- 上传文件时,必须要保证所上传的文件不重名,为此可以通过UUID等方式对上传的文件名称进行重命名。( )
- 上传的文件,可以在项目目录中找到。( )
- 通过maxUploadSize属性可以对上传文件缓存中的最大尺寸进行设置。( )
- Spring MVC的文件上传是通过MultipartResolver对象实现的。( )
- Spring MVC需要通过第三方组件来实现文件上传。( )
- 选择题
- 下面关于MultipartFile接口中说法错误的是。( )
A: getOriginalFilename()用于获取上传文件的初始化名。
B: getSize()用于获取上传文件的大小,单位是KB。
C: getInputStream()用于读取文件内容,返回一个InputStream流。
D: transferTo(File file)用于将上传文件保存到目标目录下。
- 下面属于CommonsMultipartResolver属性的是。( )
A: getContentType
B: getInputStream
C: isEmpty
D: defaultEncoding
- 下面关于文件上传表单说法错误的是。( )
A: form表单的method属性设置为post
B: form表单的method属性设置为get
C: form表单的enctype属性设置为multipart/form-data
D: 提供<input type="file" name="filename" />的文件上传输入框
- 下面关于文件下载方法内容描述错误的是。( )
A:响应头信息中的MediaType代表的是Interner Media Type(即互联网媒体类型),也叫做MIME类型。
B:MediaType.APPLICATION_OCTET_STREAM的值为application/octet-stream,即表示以二进制流的形式下载数据。
C:HttpStatus类型代表的是Http协议中的状态。
D:HttpStatus.OK表示500,即服务器已成功处理了请求。
- 下面不属于文件解析器类CommonsMultipartResolver属性的是。( )
A:maxUploadSize
B:maxInMemorySize
C:defaultEncoding
D:lazy
- 简答题
- 请简述文件上传时表单需要满足的3个条件。
答案
- 填空题
- User-Agent
- 结果对象
- 内部转码机制
- encoder(String s, String enc)
- 200
- 判断题
- 对
- 错
- 错
- 对
- 错
- 选择题
- B
- D
- B
- D
- D
- 简答题
文件上传表单需要满足的3个条件如下:
1.form表单的method属性设置为post;
2.form表单的enctype属性设置为multipart/form-data;
3.提供<input type="file" name="filename" />的文件上传输入框。
- SSM框架整合
习题
- 填空题
- SSM框架整合主要是【 】的整合,以及【 】的整合。
- 为了避免Spring配置文件中的信息过于臃肿,通常会将Spring配置文件中的信息按照【 】分散在多个配置文件中。
- @Transactional注解主要是针对数据的【 】、【 】、【 】进行事务管理。
- 在整合项目中,db.properties文件主要用于【 】。
- Spring与MyBatis框架的整合时,可以通过Spring【 】,然后调用实例对象中的查询方法来执行MyBatis映射文件中的【 】,如果能够正确查询出数据库中的数据,就可以认为Spring与MyBatis框架整合成功。
- 判断题
- 在实际开发时,为了避免Spring配置文件中的信息过于臃肿,通常会将Spring配置文件中的信息按照不同的功能分散在多个配置文件中。( )
- @Autowired注解需要标注在Service层的实现类上,这样才能实现依赖注入。( )
- @Transactional注解主要是针对数据的增加、修改、删除和查询进行事务管理。( )
- Spring与Spring MVC,Spring MVC与MyBatis需要相互整合。( )
- 在Spring MVC的配置文件中,视图解析器是必须配置的。( )
- 选择题
- 下列选项中,不需要配置在web.xml中的是。( )
A: Spring的监听器
B: 编码过滤器
C: 视图解析器
D: 前端控制器
- 下列选项中,属于Spring MVC所必须的JAR包的是。( )
A: spring-web-4.3.6.RELEASE.jar
B: spring-webmvc-portlet-4.3.6.RELEASE.jar
C: spring-webmvc-4.3.6.RELEASE-javadoc.jar
D: spring-websocket-4.3.6.RELEASE.jar
- 下列选项中,不属于SSM整合时所需的JAR包的是。( )
A: spring-web-4.3.6.RELEASE.jar
B: spring-webmvc-4.3.6.RELEASE.jar
C: ant-1.9.6.jar
D: xwork-core-2.3.24.jar
- 下列关于SSM框架的整合说法错误的是。( )
A:Spring MVC与Spring之间不存在整合的问题。
B:SSM框架的整合就涉及到Spring与MyBatis的整合。
C:SSM框架的整合就涉及到Spring MVC与MyBatis的整合。
D:SSM框架的整合就涉及到Spring MVC与Spring之间的整合。
- 下面选项中,不属于整合SSM框架所编写的配置文件的是。( )
A:db.properties
B:applicationContext.xml
C:mybatis-config.xml
D:struts.xml
- 简答题
- 请简述SSM框架整合思路。
答案
- 填空题
- Spring与MyBatis、Spring MVC与MyBatis
- 不同的功能
- 增加、修改、删除
- 配置数据库常量
- 实例化Bean、 SQL语句
- 判断题
- 对
- 错
- 错
- 错
- 错
- 选择题
- C
- A
- D
- D
- D
- 简答题
由于Spring MVC是Spring框架中的一个模块,所以Spring MVC与Spring之间不存在整合的问题,只要引入相应JAR包就可以直接使用。因此SSM框架的整合就只涉及到了Spring与MyBatis的整合,以及Spring MVC与MyBatis的整合。Spring与MyBatis框架的整合时,通过Spring实例化Bean,然后调用实例对象中的查询方法来执行MyBatis映射文件中的SQL语句的,如果能够正确查询出数据库中的数据,那么就可以认为Spring与MyBatis框架整合成功。加入Spring MVC后,如果可以通过前台页面来执行查询方法,并且查询出的数据能够在页面中正确显示,那么就可以认为三大框架整合成功。
- BOOT客户管理系统
习题
- 填空题
- 系统中主要实现了两大功能模块:【 】和【 】。
- 【 】注解一般在异步获取数据时使用。
- 在BOOT客户管理系统中,新建客户信息窗口是通过【 】的模态框代码实现的。
- 查询操作通常可以分为按条件查询和【 】。
- 在实际应用中,无论是企业级项目,还是互联网项目,使用最多的一定是【 】。
- 判断题
- 删除操作只需将所需删除客户的id信息传递给后台删除方法即可。( )
- 修改操作时,修改信息窗口中的数据需要清空。( )
- @Responsebody注解与@RequestMapping注解配合使用时,页面中将可以获取到方法的返回值。( )
- 通常在系统中,查询出的数据都会分页显示。( )
- 在设置事务的传播行为时,需要将与查询相关方法的read-only属性值设置为true。( )
- 选择题
- 拦截用户请求是在哪一层次中实现的。( )
A: 持久对象层
B: 数据访问层
C: 业务逻辑层
D: Web表现层
- 下列选项中,不属于BOOT客户管理系统中功能的是。( )
A: 用户登录
B: 用户管理
C: 查询客户
D: 修改客户
- 下面选项中,关于Web表现层说法错误的是。( )
A: 该层主要包括Spring MVC中的Controller类和JSP页面。
B: Controller类主要负责拦截用户请求。
C: Controller类会调用业务逻辑层中相应组件的业务逻辑方法来处理用户响应。
D: Controller类会将请求的结果返回给JSP页面。
- 下列关于BOOT客户管理系统用户登录模块说法错误的是。( )
A:用户登录过程中首先要验证用户名和密码是否正确,如果正确,可以成功登录系统,系统会自动跳转到主页。
B:用户登录过程中首先要验证用户名和密码是否正确,如果错误,则在登录页面给出错误提示信息。
C:为了保证系统的安全性,用户登录时必须实现登录验证。
D:为了保证系统的稳定性,用户登录时必须实现登录验证。
- 下列关于客户管理模块说法,正确的是。( )
A:查询操作通常可以分为按条件查询和查询所有。
B:添加客户操作时,新建客户信息窗口中需要回显出客户信息。
C:修改客户时,必须修改所有的客户信息才可以执行保存修改。
D:删除客户时,只是更改了数据表中数据的状态,并没有删除数据库中的数据。
- 简答题
- 请简述如何实现登录验证。
答案
- 填空题
- 用户登录模块,客户管理模块
- @Responsebody
- Bootstrap
- 查询所有
- 查询操作
- 判断题
- 对
- 错
- 对
- 对
- 对
- 选择题
- D
- B
- C
- D
- A
- 简答题
要实现登录验证,首先需要创建一个登录拦截器类,该类中需要拦截除用户登录请求之外的所有请求,并对用户的登录状态进行判断,只有已登录的用户请求才能够继续执行,否则会将用户请求转发到系统登录页面,并给出登录提示。编写完登录拦截器类后,还需要在Spring MVC的配置文件中对该拦截器类进行配置,配置完成后,即可使用。