JavaEE复习题

作业:
Spring中的bean作业
单选题
1、下列选项中,不属于Spring框架优点的是(A)。
A、提供强大的、可以有效减少页面代码的标签
B、声明式事务的支持
C、方便解耦、简化开发
D、方便集成各种优秀框架
2、以下有关Bean的装配方式说法正确的是(C)。
A、Spring容器支持多种形式的Bean的装配方式,如基于XML的装配、基于注解(Annotation)的装配和自动装配(其中最常用的是基于XML的装配);
B、Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入;
C、在Spring实例化Bean的过程中,Spring首先会调用Bean的默认构造方法来实例化Bean对象,然后通过反射的方式调用setter方法来注入属性值;
D、设值注入要求一个Bean必须提供一个有参构造方法并且为需要注入的属性提供对应的setter方法。
注 :设值注入要求一个Bean必须提供一个无参构造方法
3、Spring中定义了一系列的注解,以下有关其常用的注解说明错误的是(A)。
A、@Autowired用于对Bean的属性变量、属性的setter方法及构造方法进行标注,配合对应的注解处理器完成Bean的自动配置工作,默认按照Bean的名称进行装配。
B、@Repository用于将数据访问层(DAO层)的类标识为Spring中的Bean
C、@Service通常作用在业务层(Service层),用于将业务层的类标识为Spring中的Bean
D、@Controller通常作用在控制层(如Spring MVC的Controller),用于将控制层的类标识为Spring中的Bean
4、Spring的元素中的autowire属性取值不包括以下(D)。
A、default
B、byName
C、byType
D、byId
5、以下有关Spring框架优点的说法正确的是(B)。
A、Spring具有简单、可测试和松耦合等特点,从这个角度出发,Spring就是应用于任何Java应用的开发中;
B、Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性
C、Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,杜绝了组件之间的耦合性
D、Spring增加了Java EE开发中一些API的使用难度
6、以下哪些不属于Spring 4.3版本中Bean的作用域(C)
A、application
B、request
C、response
D、globalSession
7、Spring容器支持多种形式的Bean的装配方式,不包括有(B)。
A、基于XML的装配
B、基于properties的装配
C、基于注解(Annotation)的装配
D、自动装配
8、下列有关Spring框架的描述,错误的是()1分
A、Spring是Java Web开发框架
B、Spring是轻量级框架
C、Spring是开源框架
D、Spring是持久层框架
9、下列选项中,不属于Spring中实例化Bean的方式的是(D)。
A、构造器实例化
B、静态工厂方式实例化
C、实例工厂方式实例化
D、抽象方法实例化
10、Spring的核心容器是其他模块建立的基础,以下哪个不是该容器的组成模块(D)。
A、Beans模块
B、Core模块
C、Context模块
D、AOP模块
11、以下关于Spring对Bean生命周期的管理说法错误的是(C)。
A、Spring容器可以管理singleton作用域的Bean的生命周期, Spring能够精确的知道该Bean何时被创建,何时初始化完成,以及何时被销毁
B、对于prototype作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期
C、每次客户端请求singleton作用域的Bean时,Spring容器都会创建一个新的实例,并且不会管那些被配置成singleton作用域的Bean的生命周期。
D、了解Bean的生命周期的意义就在于,可以在某个Bean生命周期的某些指定时刻完成一些相关操作
12、以下有关Bean的singleton作用域说法错误的是(A)。
A、prototype是Spring容器默认的作用域
B、对需要保持会话状态的Bean(如Struts2的Action类)应该使用prototype作用域
C、在使用prototype作用域时,Spring容器会为每个对该Bean的请求都创建一个新的实例
D、要将Bean定义为prototype作用域,只需在配置文件中将元素的scope属性值设置为prototype即可
13、以下有关Spring的四个基础包说法正确的是(D)。
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其它组件都要用到这个包里的类,是其它组件的基本核心
14、以下有关Spring中的Bean的相关说法正确的是()。
A、Spring可以被看做是一个大型工厂,这个工厂的作用就是生产和管理Spring容器中的Bean
B、Spring中最常使用的就是Properties格式的配置方式,这种配置方式通过Properties文件来注册并管理Bean之间的依赖关系
C、在Spring中,XML配置文件的可以包含多个,中包含了多个子元素,每一个子元素定义了一个Bean
D、如果在Bean中未指定id和name,则Spring无法获取Bean
15、以下有关Spring中Bean的作用域说法正确的是(D)。
A、Spring 4.3中为Bean的实例定义了5种作用域
B、使用prototype定义的Bean在Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指向同一个对象
C、每次通过Spring容器获取的singleton定义的Bean时,容器都将创建一个新的Bean实例
D、globalSession:在一个全局的HTTP Session中,容器会返回该Bean的同一个实例。
多选题
16、Spring框架压缩包解压后的目录中lib中的JAR包说明正确的是(ABCD)。
A、libs目录中的JAR包分为三类
B、以RELEASE.jar结尾的是Spring框架class文件的JAR包
C、以RELEASE-javadoc.jar结尾的是Spring框架API文档的压缩包
D、以RELEASE-sources.jar结尾的是Spring框架源文件的压缩包
17、以下有关依赖注入相关说法正确的是(ABCD)。
A、依赖注入(DI)与控制反转(IoC)的含义相同,只不过这两个称呼是从两个角度描述的同一个概念
B、在传统模式下,调用者通常会采用“new 被调用者”的代码方式来创建对象,这种方式会导致调用者与被调用者之间的耦合性增加,不利于后期项目的升级和维护
C、在使用Spring框架之后,控制权由应用代码转移到了Spring容器,控制权发生了反转,这就是Spring的控制反转
D、从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,相当于为调用者注入了依赖的实例,这就是Spring的依赖注入
18、Spring中定义了一系列的注解,常用的注解有(ABCD)。
A、@Autowired
B、@Repository
C、@Service
D、@Controller
19、以下有关元素的autowire属性值及说明正确的是(ABCD)。
A、default:由的上级标签的default-autowire属性值确定
B、byName:根据属性的名称自动装配。容器将根据名称查找与属性完全一致的Bean,并将其属性自动装配。
C、byType:根据属性的数据类型(Type)自动装配,如果一个Bean的数据类型兼容另一个Bean中属性的数据类型,则自动装配
D、constructor:根据构造函数参数的数据类型,进行byType模式的自动装配
20、下列有关Spring框架的描述,正确的有(BC)1分
A、Spring是持久层框架
B、Spring是Java Web开发框架
C、Spring是开源框架
D、Spring是一个重量级框架
21、Spring的核心容器是其他模块建立的基础,以下哪些属于该容器的组成模块(ABC)。
A、Beans模块
B、Core模块
C、SpEL
D、AOP模块
22、以下有关元素的属性及子元素说明正确的是(ABC)。
A、id是一个Bean的唯一标识符,Spring容器对Bean的配置、管理都通过该属性来完成
B、name :Spring容器同样可以通过此属性对容器中的Bean进行配置和管理,name属性中可以为Bean指定多个名称,每个名称之间用逗号或分号隔开
C、class属性指定了Bean的具体实现类,它必须是一个完整的类名
D、scope用来设定Bean实例的作用域,其属性值有5种
注:最近版本Spring框架scope属性值有7种
23、以下哪些属于实例化Bean的方式(ABC)。
A、构造器实例化
B、静态工厂方式实例化
C、实例工厂方式实例化
D、抽象方法实例化
24、以下有关Spring核心容器的说法正确的是(ABCD)。
A、Spring框架提供了两种核心容器,分别为BeanFactory和ApplicationContext
B、BeanFactory由org.springframework.beans.facytory.BeanFactory接口定义,是基础类型的IoC容器
C、BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用它们的生命周期方法
D、ApplicationContext是BeanFactory的子接口,也被称为应用上下文,是另一种常用的Spring核心容器
25、以下哪些属于Spring框架模块(ABD)。
A、Core Container
B、Data Access/Integration
C、IoC
D、Messaging
26、Spring框架压缩包解压后的目录中内容说明正确的是()。
A、docs文件夹中包含Spring的API文档和开发规范
B、libs文件夹中包含开发需要的JAR包和源码
C、schema文件夹中包含开发所需要的schema文件
D、spring.x.pdf中是使用手册
27、以下哪些属于Spring 4.3版本中为Bean作用域(ABCD)。
A、singleton
B、prototype
C、request
D、application
28、下列选项中,属于Spring框架优点的有(ABCD)。
A、方便解耦、简化开发
B、AOP编程的支持
C、方便集成各种优秀框架
D、声明式事务的支持
29、在Spring配置文件中,Bean的作用域是通过元素的scope属性来指定的,该属性值可以设值包括有(ACD)。
A、request
B、response
C、session
D、application
30、以下有关Bean的singleton作用域说法正确的是()。
A、singleton是Spring容器默认的作用域
B、当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例
C、singleton作用域对于无会话状态的Bean(如Dao 组件、Service组件)来说,是最理想的选择
D、Bean的作用域是通过元素的scope属性来指定的,该属性值有7个值,对应7种作用域
判断题
31、Spring是由Rod Johnson组织和开发的一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架()
参考答案 :对
32、对需要保持会话状态的Bean(如Struts2的Action类)应该使用prototype作用域()。
参考答案 :对
33、如果在Bean中未指定id和name,则Spring会将class值当作id使用()。
参考答案 :对
34、Spring 4.3版本中为Bean的实例定义了7种作用域()。
参考答案 :对
35、在传统模式下,采用“new 被调用者”的方式来创建对象会导致调用者与被调用者之间的耦合性增加,不利于后期项目的升级和维护()。
参考答案 :对
36、实例化Bean有三种方式,分别为构造器实例化、静态工厂方式实例化和实例工厂方式实例化(其中最常用的是构造器实例化)()。
参考答案 :对
37、prototype是Spring容器默认的作用域()。
参考答案 :错
38、Spring配置文件的名称可以自定义,通常在实际开发中,都会将配置文件命名为applicationContext.xml()。
参考答案 :对
39、静态工厂的方法来创建Bean实例,其class属性指定的同样是Bean实例的实现类,同时还需要使用factory-method属性来指定所创建的静态工厂方法()。
参考答案 :错
40、Spring框架提供了两种核心容器,分别为BeanFactory和ApplicationContext()。
参考答案 :对
41、依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到Bean组件中()。
参考答案 :对
42、Bean的装配可以理解为依赖关系注入,Bean的装配方式即Bean依赖注入的方式()。
参考答案 :对
43、Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入()。
参考答案 :错
44、Spring不仅可以用于服务器端开发,也可以应用于任何Java应用的开发中()。
参考答案 :对
45、Spring对服务器端三层体系架构的每一层都提供了技术支持()
参考答案 :对
46、当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean的id属性相匹配,就会返回同一个Bean实例()。
参考答案 :对
47、Spring具有简单、可测试和松耦合等特点()
参考答案 :对
48、singleton是Spring容器默认的作用域()。
参考答案 :对
49、对于prototype作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期()。
参考答案 :对
50、Spring是一个轻量级的开源框架()1分
参考答案 :对
51、Spirng框架的Beans模块提供了Spring框架的基本组成部分,包括IoC和DI功能()。
参考答案 :错
52、每次客户端请求singleton作用域的Bean时,Spring容器都会创建一个新的实例,并且不会管那些被配置成singleton作用域的Bean的生命周期()。
参考答案 :错
53、@Component注解用于描述Spring中的Bean,它是一个泛化的概念,仅仅表示一个组件,并且可以作用在任何层次,使用时只需将该注解标注在相应方法上即可()。
参考答案 :错
答案说明 :使用时只需将该注解标注在相应类上即可。
54、Spring中使用prototype定义的Bean在Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指向同一个对象()。
参考答案 :错
答案说明 :使用singleton定义的Bean在Spring容器中将只有一个实例
55、Spring容器可以管理singleton作用域的Bean的生命周期()
参考答案 :对
56、Spring框架的主要功能是通过其核心容器来实现的()。
参考答案 :对
57、在Spring中,要想使用容器中的Bean,也需要实例化Bean()。
参考答案 :对
58、Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块()。
参考答案 :对
59、构造器实例化是指Spring容器通过Bean对应类中默认的无参构造方法来实例化Bean()。
参考答案 :对
60、
使用基于基于Annotation的装配可以较大程度上解决基于XML方式装配导致的配置文件臃肿和难以维护等问题()。
参考答案 :对
填空题
61、构造器实例化是指Spring容器通过Bean对应类中默认的无参构造方法
来实例化Bean。参考答案 :【无参构造方法】
答案说明 :
62、Spring容器支持多种形式的Bean的装配方式,如基于
XML的装配、基于注解(Annotation)的装配和自动装配。2分
参考答案 :【XML】
63、Spring是以IoC和AOP为内核
参考答案 :【AOP】
64、Spring容器可以管理singleton作用域的Bean的生命周期。
65、参考答案 :【singleton】
65、在配置文件中,通常一个普通的Bean只需要定义id(或name)和class两个属性即可。参考答案 :【id】【name】【class】
66、依赖注入的实现方式通常有两种,一种是属性setter方法注入,另一种是构造方法注入。
参考答案 :【属性setter】【构造方法】
67、在Spring压缩包解压后的libs目录中,有四个Spring的基础包,它们分别对应Spring
核心容器的四个模块。
参考答案 :【核心容器】
68、Spring实例化Bean有三种方式,分别为构造器实例化、静态工厂方式实例化和实例工厂方式实例化
参考答案 :【实例工厂方式实例化】
69、在Spring配置文件中,Bean的作用域是通过元素的scope属性来指定的。
参考答案 :【scope】
70、Spring 4.3中为Bean的实例定义了7种作用域,其中singleton和prototype是最常用的两种。2分
参考答案 :【singleton】【prototype】
71、所谓自动装配,就是将一个Bean自动的注入到到其他Bean的Property中。2分
参考答案 :【Property】
72、Beans模块提供了BeanFactory,是工厂模式的经典实现,Spring将管理对象称为Bean。参考答案 :【Beans】
73、静态工厂方式实例化Bean时,其class属性指定的是静态工厂类,同时还需要使用factory-method属性来指定所创建的静态工厂方法。
参考答案 :【factory-method】
74、Spring中要将Bean的作用域定义成singleton,只需将scope的属性值设置为singleton
即可。参考答案 :【singleton】
75、Spring的元素中包含一个autowire属性,我们可以通过设置该属性值来自动装配Bean。
参考答案 :【autowire】

AOP测试:
单选题
1、下列有关AOP专业术语中,用于指那些被拦截到的点的是(A)。
A、Joinpoint
B、Pointcut
C、Aspect
D、Advice
2、以下不属于ProxyFactoryBean类中的常用可配置属性的是(C)。
A、target
B、proxyInterfaces
C、targetClass
D、interceptorNames
3、 以下有关CGLIB代理相关说法正确的是(D)。
A、CGLIB代理的使用非常简单,但它还有一定的局限性——使用动态代理的对象必须实现一个或多个接口
B、如果要对没有实现接口的类进行代理,那么可以使用JDK代理
C、CGLIB是一个高性能开源的代码生成包,在使用时需要另外导入CGLIB所需要的包
D、Spring中的AOP代理,可以是JDK动态代理,也可以是CGLIB代理
4、关于AspectJ注解的介绍,说法错误的是(D)。
A、@Aspect用于定义一个切面
B、@Pointcut用于定义切入点表达式
C、@Before用于定义前置通知,相当于BeforeAdvice
D、@After用于定义后置通知,相当于AfterReturningAdvice
5、以下关于Spring AOP 的介绍错误的是(C)。
A、AOP的全称是Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)
B、AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,这种采用横向抽取机制的方式,采用OOP思想是无法办到的
C、虽然AOP是一种新的编程思想,采取横向抽取机制,是OOP的升级替代品
D、目前最流行的AOP框架有两个,分别为Spring AOP和AspectJ
6、下列有关AOP专业术语中,用于表示切面与程序流程的交叉点的是(B)。
A、Joinpoint
B、Pointcut
C、Aspect
D、Advice
7、以下哪种类型不是Spring中的通知类型(D)。
A、异常通知
B、前置通知
C、后置通知
D、最终通知
多选题
8、下列有关JDK动态代理的描述,正确的有(ABC)。
A、JDK动态代理是通过java.lang.reflect.Proxy 类来实现的
B、对于使用业务接口的类,Spring默认会使用JDK动态代理来实现AOP
C、Spring中的AOP代理,可以是JDK动态代理,也可以是CGLIB代理
D、使用JDK动态代理的对象不必实现接口
9、以下有关基于XML的声明式AspectJ及配置说法正确的是(ACD)。
A、基于XML的声明式AspectJ是指通过XML文件来定义切面、切入点及通知,所有的切面、切入点和通知都必须定义在aop:config元素内
B、Spring配置文件中的元素下可以1个aop:config元素,一个aop:config元素中可以包含属性和子元素
C、aop:config元素的子元素包括aop:pointcut、aop:advisor和aop:aspect ,在配置时,这3个子元素必须按照此顺序来定义
D、使用AspectJ进行开发还需要导入AspectJ框架相关的JAR包
答案说明 :Spring配置文件中的元素下可以多个aop:config元素
10、以下关于ProxyFactoryBean类中的常用可配置属性及说法正确的是(ABD)。
A、target:代理的目标对象
B、proxyInterfaces: 代理要实现的接口
C、proxyTargetClass: 是否对类代理而不是接口,设置为false时,使用CGLIB代理
D、interceptorNames: 需要织入目标的Advice
11、以下术语Spring AOP常用术语的有(ABCD)。2分
A、Aspect
B、Joinpoint
C、Pointcut
D、Weaving
12、以下有关Spring中的通知类型及说法正确的是(ABCD)。
A、MethodInterceptor:在目标方法执行前后实施增强,可以应用于日志、事务管理等功能
B、MethodBeforeAdvice: 在目标方法执行前实施增强,可以应用于权限管理等功能
C、AfterReturningAdvice: 在目标方法执行后实施增强,可以应用于关闭流、上传文件、删除临时文件等功能
D、ThrowsAdvice: 在方法抛出异常后实施增强,可以应用于处理异常记录日志等功能
13、以下关于Spring AOP 的介绍正确的是(ABCD)。

A、AOP的全称是Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)
B、AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,然后在程序编译或运行时,再将这些提取出来的代码应用到需要执行的地方
C、虽然AOP是一种新的编程思想,但却不是OOP的替代品,它只是OOP的延伸和补充
D、目前最流行的AOP框架有两个,分别为Spring AOP和AspectJ
判断题
14、Spring配置文件中的元素下可以包含多个aop:config元素,一个aop:config元素中又可以包含属性和子元素,其子元素包括aop:pointcut、aop:advisor和aop:aspect()。
参考答案 :对
15、AspectJ是一个基于Java语言的AOP框架,从Spring2.0开始,Spring AOP引入了对AspectJ的支持,AspectJ扩展了Java语言,提供了一个专门的编译器,在编译时提供横向代码的织入()。
参考答案 :对
16、如果在同一个连接点有多个通知需要执行,那么在同一切面中,目标方法之前的前置通知和环绕通知的执行顺序是未知的,目标方法之后的后置通知和环绕通知的执行顺序也是未知的()。
参考答案 :对
17、Spring中的通知按照在目标类方法的连接点位置,可以分为4种类型()。
参考答案 :错
18、如果要对没有实现接口的类进行代理,那么可以使用CGLIB代理()。
参考答案 :对
19、Spring中的AOP代理默认就是使用CGLIB代理的方式来实现的()。
参考答案 :错
20、在Spring中,使用ProxyFactoryBean是创建AOP代理的唯一方式()。
参考答案 :错
21、在Spring中,使用ProxyFactoryBean是创建AOP代理的最基本方式()。
参考答案 :对
22、AOP专业术语中,切面是指要对哪些Joinpoint进行拦截()。
参考答案 :错
23、CGLIB是一个高性能开源的代码生成包,它采用非常底层的字节码技术,对指定的目标类生成一个子类,并对子类进行增强,在使用时需要另外导入CGLIB所需要的包()。
参考答案 :错
24、使用CGLIB创建代理类,该代理类需要实现MethodInterceptor接口,并实现接口中的intercept()方法()。
参考答案 :对
25、AOP专业术语中,Target是指代理的目标对象()。
参考答案 :对
26、目前最流行的AOP框架有两个,分别为Spring AOP和AspectJ()。
参考答案 :对
27、对于使用业务接口的类,Spring默认会使用CGLIB动态代理来实现AOP()。
参考答案 :错
28、AOP手动使用代理模式有两个典型的例子,分别为JDK动态代理和CGLIB代理()。
参考答案 :对
29、AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,然后再将这些提取出来的代码应用到需要执行的地方, 是OOP的替代品()。
参考答案 :错
30、Spring 3.0以后,Spring AOP引入了对AspectJ的支持,并允许直接使用AspectJ进行编程,而Spring自身的AOP API也尽量与AspectJ保持一致()。
参考答案 :错
31、Spring AOP中的代理就是由AOP框架动态生成的一个对象,该对象可以作为目标对象使用()。
参考答案 :对
32、AOP的全称是Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)()。
参考答案 :对
33、CGLIB代理的使用非常简单,但它还有一定的局限性——使用动态代理的对象必须实现一个或多个接口()。
参考答案 :错
34、Spring AOP使用纯Java实现,不需要专门的编译过程和类加载器,在运行期间通过代理方式向目标类织入增强的代码()。
参考答案 :对
35、AspectJ框架中的注解@After用于定义最终final通知,不管是否异常,该通知都会执行()。
参考答案 :对
36、使用AspectJ实现AOP有两种方式:一种是基于XML的声明式AspectJ,另一种是基于注解的声明式AspectJ()。
参考答案 :对
37、AspectJ框架为AOP的实现提供了一套注解,用以取代Spring配置文件中为实现AOP功能所配置的臃肿代码()。
参考答案 :对
38、ProxyFactoryBean是FactoryBean接口的实现类,FactoryBean负责实例化一个Bean,而ProxyFactoryBean负责为其他Bean创建代理实例()。
参考答案 :对
39、AspectJ是一个基于Java语言的AOP框架,它提供了强大的AOP功能()。
参考答案 :对
填空题
40、ProxyFactoryBean是FactoryBean接口的实现类,FactoryBean负责实例化一个Bean,而ProxyFactoryBean负责为其他Bean创建
代理实例。
参考答案 :【代理实例】
41、在Spring的配置文件中,配置切面使用的是aop:aspect元素。参考答案 :【aop:aspect】
42、AspectJ框架中注解["@Pointcut"]用于定义切入点表达式,在使用时还需定义一个包含名字和任意参数的方法签名来表示切入点名称。参考答案 :【@Pointcut】
43、基于XML的声明式AspectJ是指通过XML文件来定义切面、切入点及通知,所有的切面、切入点和通知都必须定义在aop:config
元素内。
参考答案 :【aop:config】
44、AOP动态代理模式有两个典型的例子,分别为JDK动态代理和CGLIB代理。2分
参考答案 :【JDK动态代理】
45、AOP手动使用代理模式有两个典型的例子,分别为JDK动态代理和CGLIB代理。参考答案 :【CGLIB代理】
46、Spring中的通知按照在目标类方法的连接点位置,可以分为以下5种类型:环绕通知、前置通知、后置通知、异常通知、引介通知。参考答案 :【环绕通知】
47、目前最流行的AOP框架有两个,分别为Spring AOP和AspectJ。参考答案 :【SpringAOP】【AspectJ】
48、使用AspectJ实现AOP有两种方式:一种是基于XML的声明式AspectJ,另一种是基于注解的声明式AspectJ。
参考答案 :【基于XML的声明式AspectJ】
49、在Spring配置文件中,aop:aspect子元素的pointcut-ref属性用于指定一个已经存在的切入点名称。
50、参考答案 :【切入点名称】
51、Spring配置文件中的元素下可以包含多个aop:config元素,一个aop:config元素中又可以包含属性和子元素,其子元素包括aop:pointcut、aop:advisor和aop:aspect。
参考答案 :【aop:aspect】
51、@Aspect注解用于定义一个切面。
参考答案 :【@Aspect】
52、Spring中的AOP代理默认就是使用JDK动态代理的方式来实现的。参考答案 :【JDK动态代理】
53、AOP术语中Advice表示AOP框架在特定的切入点执行的增强处理,即在定义好的切入点处所要执行的程序代码。
参考答案 :【Advice(通知/增强处理)】
54、使用CGLIB创建代理类,该代理类需要实现MethodInterceptor接口,并实现接口中的intercept()方法。2分
参考答案 :【intercept()】
55、在实际应用中,Aspect(切面)通常是指封装的用于横向插入系统功能(如事务、日志等)的类。
参考答案 :【Aspect(切面)】
56、AfterReturningAdvice(后置通知): 在目标方法执行后实施增强,可以应用于关闭流、上传文件、删除临时文件等功能。
参考答案 :【AfterReturningAdvice(后置通知)】
57、在Spring中,使用ProxyFactoryBean是创建AOP代理的基本方式。参考答案 :【ProxyFactoryBean】
58、AOP的全称是Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)。
参考答案 :【AOP】
59、Weaving(织入):将切面代码插入到目标对象上,从而生成代理对象的过程。
参考答案 :【Weaving(织入)】
60、Spring中的AOP代理,可以是JDK动态代理,也可以是CGLIB代理,对于使用业务接口的类,Spring默认会使用JDK动态代理来实现AOP。
参考答案 :【JDK动态代理】
61、AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,然后在程序编译或运行时,再将这些提取出来的代码应用到需要执行的地方。
参考答案 :【横向抽取机制】
62、在Spring的配置文件中,切入点是通过aop:pointcut元素来定义的。
参考答案 :【aop:pointcut】
63、JDK动态代理是通过java.lang.reflect.Proxy 类来实现的,我们可以调用Proxy类的newProxyInstance()方法来创建代理对象。
参考答案 :【newProxyInstance()】

Spring数据库开发
单选题:
1、以下有关Spring的JDBC模块说法错误的是(A)。2分
A、Spring的JDBC模块负责数据库资源管理和数据处理;
B、JDBC是Spring数据访问/集成中的重要模块;
C、Spring框架降低了包括JDBC的使用难度;
D、Spring JDBC的核心类是JdbcTemplate。
答案说明 :Spring的JDBC模块负责数据库资源管理和错误处理
2、JdbcTemplate类包含在Spring JDBC模块的哪个包中(A)
A、核心包
B、数据源包
C、对象包
D、支持包
3、下面描述中,关于query()方法说法错误的是(C)
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 elementType)可以返回多行数据的结果,但必须是返回列表,elementType参数返回的是List元素类型
4、以下关于@Transactional注解可配置的参数信息及秒正确的是(A)。
A、value用于指定需要使用的事务管理器,默认为"";
B、read-only用于指定事务是否只读,默认为true;
C、isolation用于指定事务的隔离级别,默认为Isolation.READ_COMMITTED;
D、propagation用于指定事务的传播行为,默认为Propagation. SUPPORTS;
答案说明 :read-only默认为false;
isolation默认为Isolation.DEFAULT;
propagation默认为Propagation.REQUIRED.
5、下列选项中,哪一个不是Spring中事务管理的核心接口(D)
A、PlatformTransactionManager
B、TransactionDefinition
C、TransactionStatus
D、TransactionManager
6、以下有关Spring事务管理及核心接口说法错误的是(D)。
A、PlatformTransactionManager接口是Spring提供的平台事务管理器,主要用于管理事务
B、TransactionDefinition接口是事务定义(描述)的对象,该对象中定义了事务规则,并提供了获取事务相关信息的方法
C、TransactionStatus接口是事务的状态,它描述了某一时间点上事务的状态信息
D、在事务管理过程中,传播行为可以控制是否需要创建事务以及如何创建事务,通常情况下,对于数据的查询、插入、更新和删除操作,必须进行事务管理
7、以下基于XML方式的声明式事务管理配置文件中tx:advice元素的子元素tx:method属性描述错误的是(B)。
A、name:该属性为必选属性,它指定了与事务属性相关的方法名
B、propagation:用于指定事务的传播行为,它的默认值为SUPPORTS
C、isolation:该属性用于指定事务的隔离级别,其默认值为DEFAULT
D、read-only:该属性用于指定事务是否只读,其默认值为false
答案说明 :它的默认值为REQUIRED
8、Spring JDBC模块主要由4个包组成,其中不包括(C)。
A、core(核心包)
B、dataSource(数据源包)
C、driverClass(数据库驱动包)
D、support(支持包)
9、JdbcTemplate的直接父类是(A)
A、JdbcAccessor
B、JdbcOperations
C、JdbcSupper
D、Object
10、以下有关事务管理方式相关说法错误的是(B)。
A、Spring中的事务管理分为两种方式:一种是传统的编程式事务管理,另一种是声明式事务管理
B、编程式事务管理:是通过AOP技术实现的事务管理,就是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚
C、声明式事务管理:其主要思想是将事务管理作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”代码植入到业务目标类中
D、声明式事务管理最大的优点在于开发者无需通过编程的方式来管理事务,只需在配置文件中进行相关的事务规则声明,就可以将事务规则应用到业务逻辑中
11、下面关于update()方法描述错误的是(A)2分
A、update()方法可以完成插入、更新、删除和查询数据的操作
B、在JdbcTemplate类中,提供了一系列的update()方法
C、update()方法执行后,会返回受影响的行数
D、update()方法返回的参数是int类型
答案说明 :不能查询数据
12、以下有关Spring中TransactionStatus接口的方法及说明错误的是(D)。
A、flush()刷新事务
B、isCompleted()获取事务是否完成
C、isNewTransaction()获取是否是新事务
D、setFallbackOnly()设置事务回滚
答案说明 :setRollbackOnly()设置事务回滚
多选题:
13、PlatformTransactionManager接口常见的几个实现类有(ABD)。A、DataSourceTransactionManager
B、HibernateTransactionManager
C、MybatisTransactionManager
D、JtaTransactionManager
14、以下有关Spring配置文件中dataSource数据源配置时的属性说明正确的是(ABCD)。
A、driverClassName:所使用的驱动名称,对应驱动JAR包中的Driver类
B、url:数据源所在地址
C、username:访问数据库的用户名
D、password:访问数据库的密码
15、以下哪些属于@Transactional注解的可配置参数(ABCD)。2分
A、value
B、transactionManager
C、isolation
D、propagation
16、以下关于Spring框架中JdbcTemplate的说法正确的是(ABCD)。
A、针对数据库的操作,Spring框架提供了JdbcTemplate类
B、JdbcTemplate类是Spring JDBC的核心类
C、JdbcTemplate继承自抽象类JdbcAccessor,同时实现了JdbcOperations接口
D、JdbcOperations接口定义了在JdbcTemplate类中可以使用的操作集合,包括添加、修改、查询和删除等操作
17、TransactionDefinition接口提供的获取事务相关信息的方法有(ABCD)。
A、getName()
B、getIsolationLevel()
C、getPropagationBehavior()
D、getTimeout()
18、以下Spring JDBC模块的主要包及说明正确的是(ABC)。
A、core:包含了JDBC的核心功能
B、dataSource:访问数据源的实用工具类
C、object:以面向对象的方式访问数据库
D、support:包含了core和dataSource包的支持类
答案说明 :support包含了core和object包的支持类
19、以下哪些属于tx:method元素中的常用属性(ABCD)。2分
A、name
B、propagation
C、isolation
D、timeout
20、以下属于基于XML方式的声明式事务管理配置文件中tx:advice元素的子元素tx:method的属性有(ABCD)。
A、name
B、propagation
C、isolation
D、read-only
21、以下有关JdbcTemplate类中常用的update()方法说明正确的是(ABCD)。
A、int update(String sql):该方法是最简单的update方法重载形式,它直接执行传入的SQL语句,并返回受影响的行数
B、int update(PreparedStatementCreator psc):该方法执行从PreparedStatementCreator返回的语句,然后返回受影响的行数
C、int update(String sql,PreparedStatementSetter pss): 该方法通过PreparedStatementSetter设置SQL语句中的参数,并返回受影响的行数
D、int update(String sql,Object… args): 该方法使用Object…设置SQL语句中的参数,要求参数不能为NULL,并返回受影响的行数
22、以下有关JdbcTemplate中常用的query()方法说法正确的是(ABCDC)。
A、List query(String sql, RowMapper rowMapper)执行String类型参数提供的SQL语句,并通过RowMapper返回一个List类型的结果
B、List query(String sql,Object[] args,RowMapper rowMapper)使用Object[]的值来设置SQL语句中的参数值,采用RowMapper回调方法可以直接返回List类型的数据
C、queryForObject(String sql,RowMapper rowMapper,Object… args) 将args参数绑定到SQL语句中,并通过RowMapper返回一个Object类型的单行记录
D、queryForList(String sql,Object[] args, class elementType)该方法可以返回多行数据的结果,但必须是返回列表,elementType参数返回的是List元素类型。
23、根据测试目的的不同,可以将软件测试分为(ABCD)。

A、单元测试
B、集成测试
C、确认测试
D、系统测试
24、Spring JDBC模块core包中包含的类有(ABCD)2分
A、JdbcTemplate
B、SimpleJdbcInsert
C、SimpleJdbcCall
D、NamedParameterJdbcTemplate
判断题
25、Spring的事务管理简化了传统的事务管理流程,并且在一定程度上减少了开发者的工作量()。
参考答案 :对
26、在使用Junit进行单一测试时,JUnit视图窗口的进度条为绿色表明运行结果正确;如果进度条为红色则表示有错误,并且会在窗口中显示所报的错误信息()。
参考答案 :对
27、Spring的声明式事务管理还可以通过Annotation(注解)的方式来实现,这种方式的使用非常简单()。
参考答案 :对
28、TransactionDefinition接口是事务定义对象,提供事务相关信息获取的方法()。
参考答案 :对
29、在JdbcTemplate类中execute(String sql)方法能够完成执行SQL语句的功能()。
参考答案 :对
30、定义jdbcTemplate时,需要将dataSource注入到jdbcTemplate中()。
参考答案 :对
31、基于XML方式的声明式事务管理是通过在配置文件中配置事务规则的相关声明来实现的。()。
参考答案 :对
32、基于XML方式的声明式事务管理是通过在配置文件中配置事务规则的相关声明来实现的()。
参考答案 :对
33、在Spring的所有JAR包中,包含一个名为spring-tx-4.3.6.RELEASE的JAR包,该包就是Spring提供的用于事务管理的依赖包()。
参考答案 :对
34、Spring JDBC模块主要由4个包组成,分别是core(核心包)、dataSource(数据源包)、object(对象包)和support(支持包)()。
参考答案 :对
35、对数据库数据的插入、更新、删除和查询操作,都必须进行事务管理。

参考答案 :错
36、在事务管理过程中,传播行为可以控制是否需要创建事务以及如何创建事务。
参考答案 :对
37、PlatformTransactionManager接口中操作事务的方法有getTransaction()、commit()和fallback()方法。
参考答案 :错
答案说明 :是rollback()方法
38、Spring的声明式事务管理可以通过两种方式来实现,一种是基于XML的方式,另一种是基于Annotation的方式()。
参考答案 :对
39、tx:method元素的属性timeout用于指定事务超时的时间,其默认值为-1,即永不超时。
参考答案 :对
40、JdbcTemplate类中的int update(String sql)方法是最简单的update方法重载形式,它直接执行传入的SQL语句,并返回受影响的行数()。
参考答案 :对
41、在使用JdbcTemplate进行单个查询和集合查询时,封装的RowMapper对象方法一样。2分
参考答案 :对
42、注解@Transactional与tx:method元素中的事务属性基本是对应的,并且其含义也基本相似。
参考答案 :对
43、编程式事务管理:是通过AOP技术实现的事务管理()。
参考答案 :错
44、Spring的JDBC模块负责数据库资源管理和错误处理()。
参考答案 :对
MyBatis核心配置作业
单选题
1、MyBatis框架下载并解压后,有关mybatis-3.x的文件夹内容说明正确的是(C)。
A、lib文件下就属于MyBatis框架开发的所有JAR包
B、mybatis-3.x.word属于MyBatis使用手册
C、其中mybatis-3.x.jar属于MyBatis核心包
D、以上说发都错误
2、关于MyBatis模糊查询中进行SQL字符串拼接时,说法错误的是(C)。
A、使用“${}”进行SQL字符串拼接时,无法防止SQL注入问题
B、可以使用MySQL中的concat()函数进行字符串拼接
C、使用MySQL中的concat()函数进行字符串拼接,也无法防止SQL注入
D、使用MySQL中的concat()函数进行字符串拼接,导致数据库移植性变差
3、MyBatis的删除操作有关说发错误的是(D)。
A、MyBatis的删除操作在映射文件中是通过配置元素来实现的
B、MyBatis的删除操作也需要进行事务提交
C、MyBatis的删除操作执行了SqlSession的delete()方法
D、MyBatis的删除操作和添加操作时,也需要封装整个实体类
4、以下关于元素及其属性说法错误的是(C)
A、元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组装数据给业务开发人员
B、parameterType属性表示传入SQL语句的参数类的全限定名或者别名
C、resultMap表示外部resultMap的命名引用,返回时可以同时使用resultType和resultMap
D、在同一个映射文件中可以配置多个元素
答案说明 :返回时可以使用resultType或resultMap之一
5、有关MyBatis工作原理说法错误的是(C)。
A、MyBatis的全局配置文件配置了MyBatis的运行环境等信息,其中主要内容是获取数据库连接
B、MyBatis映射文件中配置了操作数据库的SQL语句,需要在MyBatis的全局配置文件中加载才能执行
C、可以通过MyBatis的环境等配置信息构建会话对象SqlSession
D、SqlSession对象,该对象中包含了执行SQL的所有方法
答案说明 :通过MyBatis的环境等配置信息构建的是会话工厂SqlSessionFactory
6、有关MyBatis配置文件中元素的说法错误的是(C)
A、元素主要用于改变MyBatis运行时的行为,例如开启二级缓存、开启延迟加载等
B、虽然不配置元素,也可以正常运行MyBatis,但是熟悉的配置内容以及它们的作用还是十分必要的
C、元素中延迟加载的全局开关的参数lazyLoadingEnabled默认开启
D、元素的配置内容大多数都不需要开发人员去配置它,通常在需要时只配置少数几项即可
答案说明 :延迟加载的全局开关的lazyLoadingEnabled默认是false
7、关于元素说法错误的是(D)2分
A、元素就是用来在配置文件中注册自定义的类型处理器的,它的使用方式有两种
B、通过元素的子元素就可以配置单个类型处理器
C、通过元素的子元素可以配置包下的所有类型处理器
D、元素的子元素的handler属性用于指定类型处理器所在的包名,系统会在启动时自动的扫描com.itheima.type包下所有的文件,并把它们作为类型处理器
答案说明 :的name属性用于指定类型处理器所在的包名
8、使用ORM框架后,应用程序不再直接访问底层数据库,而是以(C)的方式来操作持久化对象(PO,即Persisent Object)。
A、面向业务
B、Hibernate
C、面向对象
D、MyBatis
9、以下有关元素说法错误的是(C)2分
A、元素的作用就是定义可重用的SQL代码片段,然后在其他语句中引用这一代码片段
B、使用元素的refid属性可以引用自定义的代码片段
C、使用元素refid的属性值为自定义代码片段的name
D、元素是元素的子元素
答案说明 :使用元素refid的属性值为自定义代码片段的id
10、以下有关MyBatis映射文件中元素说法正确的是(C)
A、元素用于映射插入语句,在执行完元素中定义的SQL语句后,没有返回结果
B、元素的属性与元素的属性相同
C、keyColumn属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置
D、useGeneratedKeys(仅对insert有用)此属性会使MyBatis使用JDBC的getGeneratedKeys()方法来获取由数据库内部生产的主键
11、关于MyBatis配置文件中元素说法错误的是(B)
A、可以通过在MyBaits中配置元素来定义别名
B、MyBaits配置文件中元素的子元素需要配置type和alias属性
C、可以通过在类名上使用@Alias(value = “user”)的形式定义别名
D、同时在MyBaits中配置了元素以及@Alias(value = “user”)注解定义别名后,会以注解形式的别名为准
答案说明 :可以省略alias属性
12、MyBatis的更新操作有关说法错误的是(D)。
A、MyBatis的更新操作在映射文件中是通过配置元素来实现的
B、MyBatis的更新操作也需要进行事务提交
C、MyBatis的更新操作执行了SqlSession的update()方法
D、MyBatis的更新操作和添加操作时,只需要将insert()方法改为updat()方法即可
答案说明 :需要id
多选题:
13、关于MyBatis配置文件中元素说法正确的是(ABD)
A、元素用于为配置文件中的Java类型设置一个简短的名字,即设置别名
B、元素的子元素中的type属性用于指定需要被定义别名的类的全限定名;alias属性的属性值就是自定义的别名
C、如果省略元素的alias属性,MyBatis会默认将类名作为别名
D、也可以通过在类名上使用@Alias(value = “user”)的形式定义别名
答案说明 :如果省略元素的alias属性,MyBatis会默认将类名首字母小写后作为别名
14、有关元素相关说法正确的是(ABCD)
15、A、元素的主要作用是定义映射规则、级联的更新以及定义类型转化器等
B、当数据表中的列和对象的属性不一致时,此时就可以使用元素进行处理
C、元素中的和用于处理多表时的关联关系
D、以上都正确
15、在MyBatis框架官网下载地址有几个下载链接,关于这三个下载链接说明正确的是(ACD)。
A、mybatis-3.x.zip是windows系统下MyBatis框架的压缩包
B、mybatis-3.x.tar.zip是Linux系统下MyBatis框架的压缩包
C、Source code(zip)是windows系统下MyBatis框架的源码包
D、Source code(tar.gz)是Linux系统下MyBatis框架的源码包
答案说明 :官网下载网址下只有3个下载链接,没有B选项
16、以下有关SqlSessionFactory的说法正确的是(ABCD)
A、SqlSessionFactory是MyBatis框架中十分重要的对象,其主要作用是创建SqlSession
B、SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来构建
C、SqlSessionFactory对象是线程安全的,它一旦被创建,在整个应用执行期间都会存在
D、通常每一个数据库都会只对应一个SqlSessionFactory,所以在构建SqlSessionFactory实例时,建议使用单列模式
17、MyBatis映射文件中主要元素包括(ABC)
A、
B、
C、
D、
18、MyBaits映射文件中元素的常用属性包括有(ABCD)。
A、flushCache
B、parameterType
C、resultType
D、useCache
19、MyBaits配置文件中的主要元素包括以下(ABCD)
A、元素
B、元素
C、元素
D、元素
20、MappedStatement对象会对用户执行SQL语句的输入参数进行定义,这些参数类型可以是(ABCD)。
A、Map
B、List类型
C、基本类型
D、POJO类型
21、是MyBatis映射文件中最重要也是最强大的元素,包含了一些子元素主要有(ABCD)。
A、
B、
C、
D、
22、以下有关SqlSession的说明正确的是(ABCD)
A、SqlSession是MyBatis框架中另一个重要的对象,其主要作用是执行持久化操作
B、每一个线程都应该有一个自己的SqlSession实例,并且该实例是不能被共享的
C、SqlSession实例也是线程不安全的,因此其使用范围最好在一次请求或一个方法中
D、使用完SqlSession对象之后,要及时的关闭它,通常可以将其放在finally块中关闭
23、MyBatis映射文件中的子元素可以设置以下几种属性(ABCD)。
A、keyProperty
B、resultType
C、statementType
D、order
24、为了方便转换,MyBatis框架提供了一些默认的类型处理器,包括有(ABCD)。
A、BooleanTypeHandler
B、IntegerTypeHandler
C、FloatTypeHandler
D、DateTypeHandler
25、入门程序中MyBatis的全局配置文件中主要编写的内容有(ABC)。
A、数据库环境配置
B、JDBC事务管理
C、映射文件路径配置
D、缓存插件配置
26、MyBatis入门程序中添加操作有关说法正确的是(AD)。
A、在MyBatis的映射文件中,添加操作是通过元素来实现的
B、在MyBatis的映射文件中,添加操作的parameterType必须是PO类型
C、在MyBatis添加操作使用了SqlSession的add()方法
D、在MyBatis添加操作需要进行事务提交
27、在配置文件中,元素用于指定MyBatis映射文件的位置,一般可以使用以下哪些方法引入映射器文件(ABCD)。
A、使用本地类路径引入
B、使用本地文件路径引入
C、使用接口类引入
D、使用包名引入
判断题:
28、MyBatis是一个全表映射的框架,通常开发者只需定义好持久化对象到数据库表的映射关系,就可以通过MyBatis提供的方法完成持久层操作。
参考答案 :错
29、MyBatis映射文件中的子元素必须按照指定的顺序进行配置,否则MyBatis在解析XML映射文件的时候会报错()
参考答案 :错
30、MyBatis的删除操作也需要进行事务提交()。
参考答案 :对
31、元素属性resultType表示从SQL语句中返回的类型的类的全限定名或者别名。如果是集合类型,那么返回的应该是集合可以包含的类型,而不是集合本身()。
参考答案 :对
32、SqlSessionFactory对象是线程安全的,它一旦被创建,在整个应用执行期间都会存在()。
参考答案 :对
33、在MyBatis框架的核心配置文件中,元素是配置文件的根元素,其他元素都要在元素内配置()
参考答案 :对
34、MyBatis的全局配置文件,通常配置了MyBatis的运行环境等信息,其中主要内容是获取数据库连接()。
参考答案 :对
35、SqlSessionFactory是MyBatis框架中十分重要的对象,它是单个数据库映射关系经过编译后的内存镜像,其主要作用是创建SqlSession()
参考答案 :对
36、MyBatis入门程序中进行添加操作时不会有返回值()。
参考答案 :错
答案说明 :返回影响记录数
37、MyBatis的更新操作也需要进行事务提交()。
参考答案 :对
38、在映射文件中,元素是映射文件的根元素,其他元素都是它的子元素()
参考答案 :错
答案说明 :元素是映射文件的根元素
39、MyBatis框架提供了许多默认别名,由于别名不区分大小写,所以在使用时要注意重复定义的覆盖问题()。
参考答案 :对
40、的子元素和用于处理多表时的关联关系()。
参考答案 :对
41、元素主要用于改变MyBatis运行时的行为,例如开启二级缓存、开启延迟加载等()
参考答案 :对
42、的子元素必须按照指定的顺序进行配置,否则MyBatis在解析XML配置文件的时候会报错()。
参考答案 :对

mybatis关联映射:
单选题
1、以下关于MyBatis映射文件中元素属性的说明错误的是(D)
A、property:指定映射到的实体类对象属性,与表字段一一对应;
B、column:指定表中对应的字段
C、javaType:指定映射到实体对象属性的类型
D、fetchType:指定在关联查询时是否启用延迟加载。fetchType属性有lazy和eager两个属性值,默认值为eager
答案说明 :默认值为lazy
2、当有多个选择的情况是,值需要从多个选项中选择一个去执行时,可以使用的动态SQL元素是()A、
B、、、
C、
D、
3、以下有关MyBatis动态SQL中的主要元素说法错误的是(D)
A、用于单条件分支判断
B、(、)用于多条件分支判断
C、循环语句,常用于in语句等列举条件中
D、从OGNL表达式中创建一个变量,并将其绑定到上下文,只于模糊查询的sql中
4、以下不属于元素中使用的属性的是(C)。
A、separator
B、collection
C、current
D、item
5、在Java中,以下有关类的关联关系描述错误的是(A)。2分
A、在Java中,通过对象也可以进行关系描述,他们分别为一对一、一对多、多对一和多对多。
B、一对一的关系就是在本类中定义对方类型的对象
C、一对多的关系就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a
D、多对多的关系:在A类中定义B类类型的集合,在B类中定义A类类型的集合。
6、下面关于元素的描述正确的是(A)2分
A、MyBatis就是通过元素来处理一对多关联关系的
B、元素的属性与元素完全相同
C、ofType属性与javaType属性对应,它用于指定实体对象中所有属性所包含的元素类型
D、元素只能使用嵌套查询方式
7、以下关于元素中常用属性说法错误的是(D)。2分
A、property指定映射到的实体类对象属性,与表字段一一对应
B、column指定表中对应的字段
C、javaType指定映射到实体对象属性的类型
D、fetchType指定在关联查询时是否启用延迟加载,默认值为eager
答案说明 :fetchType属性有lazy和eager两个属性值,默认值为lazy(即默认关联映射延迟加载)。
8、下面关于数据库中多表之间关联关系说法错误的是(B)2分
A、一对一关联关系可以在任意一方引入对方主键作为外键
B、一对多关联关系在“一”的一方,添加“多”的一方的主键作为外键
C、多对多关联关系会产生中间关系表,引入两张表的主键作为外键
D、多对多关联关系的两个表的主键成可以为联合主键或使用新的字段作为主键
答案说明 :在“多”的一方,添加“一”的一方的主键作为外键
9、SQL语句中,where后直接跟and,这在运行时肯定会报(A)错误。
A、SQL语法
B、无效字符
C、参数异常
D、MySQL版本
10、下面属性中不属于元素属性的是(C)2分
A、property
B、column
C、ofType
D、javaType
答案说明 :ofType是元素的属性
10、以下关于元素中使用的几种属性的描述错误的是(C)
A、item:配置的是循环中当前的元素
B、index:配置的是当前元素在集合的位置下标
C、collection:配置的是传递过来的参数类型,它可以是一个array、list(或collection)、Map集合的键、POJO包装类中数组或集合类型的属性名等
D、separator:配置的是各个元素的间隔符
答案说明 :collection:配置的是传递过来的参数类型,首字母要小写
12、下面关于Java对象之间的关联关系描述正确的是(B)2分
A、一对一的关系就是在本类和对方类中定义同一个类型的对象
B、一对多的关系:就是一个A类类型对应多个B类类型的情况
C、多对多的关系只需要在一方的类中引入另一方类型的集合
D、多对多关联关系需要在本类中引入本类的集合
13、以下关于MyBatis的元素的使用及说法正确的是(A)2分
A、元素主要用于更新操作,其主要作用是在动态包含的SQL语句前输出一个SET关键字,并将SQL语句中最后一个多余的逗号去除
B、使用MyBatis的元素来更新操作时,前端需要传入所有参数字段,否则未传入字段会默认设置为空
C、在映射文件中使用和元素组合进行update语句动态SQL组装时, 元素内包含的内容可以都为空,元素会进行判断处理
D、在映射文件进行更新操作时,只需要使用元素就可以进行动态SQL组装
多选题
14、以下有关及其子元素说法错误的是(ABCD)2分
A、MyBatis动态SQL中的、、元素类似Java中的switch…case…default语句,用于进行多条件分支判断
B、只要元素中的test属性条件判断成立,就会动态组装SQL
C、MyBatis动态SQL中的元素内,可以有多个和子元素
D、以上说法都正确
15、MyBatis映射文件中元素通常可以配置以下属性(ABD)。
A、property
B、fetchType
C、ofType
D、select
16、在关系型数据库中,多表之间的关联关系主要包括(ABCD)2分
A、一对一
B、一对多
C、多对一
D、多对多
17、以下关于MyBatis动态SQL中元素元素说法错误的是(BCD)2分
A、使用元素替换条件“where 1=1”后,既保证了where后面的条件成立,又避免了where后面第一个词是and或者or之类的关键词
B、使用元素对“where 1=1”条件进行了替换,只用当元素的test属性成立才会在拼接SQL中加入where关键字,否则将不会添加
C、元素和元素功能相同,都是对对“where 1=1”条件进行替换,并去除多余字符
D、以上说法都正确
18、以下有关MyBatis中多对对关联映射的使用及说法正确的是(CD)A、MyBatis是通过元素的子元素该元素来处理多对一关联关系的
B、多对多关联映射中的子元素与一对多中的子元素用法和属性相同
C、MyBatis是通过元素的子元素该元素来处理多对一关联关系的
D、多对多关联映射中也有嵌套查询和嵌套结果两种方式
19、MyBatis映射文件中元素通常可以配置以下属性(ABCD)。
A、property
B、column
C、ofType
D、select
20、以下MyBatis一对多关联映射的使用及说法正确的是(ABC)2分
A、MyBatis是通过元素的子元素该元素来处理一对多关联关系的
B、子元素的属性大部分与元素相同,但其还包含一个特殊属性——ofType
C、MyBatis一对多关联映射同样可以使用嵌套结果和嵌套查询的方式
D、ofType属性与javaType属性意义相同
21、MyBatis动态SQL中的主要元素包含有(ABCD)。
A、
B、
C、
D、
22、关于元素的使用及说法正确的是(BC)
A、在MyBatis中,元素是最常用的判断语句,它类似于Java中的if语句,主要用于实现某些简单的多条件分支判断
B、使用元素的test属性可以对传入参数进行条件判断,如果传入的条件成立就进行动态SQL组装
C、元素可以出现多个
D、以上说法都正确
23、以下关于在进行模糊查询编写SQL语句的时候可能出现问题描述正确的是(ABC)。
A、如果使用“${}”进行字符串拼接,则无法防止SQL注入问题
B、如果使用concat函数进行拼接,则只针对MySQL数据库有效
C、如果使用的是Oracle数据库,则要使用连接符号“||”
D、如果使用的是MyBatis框架,则要使用元素来解决
判断题:
24、可以将任何可迭代对象(如列表、集合等)和任何的字典或者数组对象传递给作为集合参数()。
参考答案 :对
25、MyBatis是同样是通过元素的子元素该元素来处理多对多关联关系的()。
参考答案 :对
26、使用MyBatis的元素来更新操作时,前端需要传入所有参数字段,否则未传入字段会默认设置为空()
参考答案 :错
答案说明 :不需要传入所有字段
27、在MyBaits映射文件中使用和元素组合进行update语句动态SQL组装时,如果元素内包含的内容都为空,则会出现SQL语法错误()。
参考答案 :对
28、MyBatis是通过元素的子元素该元素来处理一对一关联关系的()2分
参考答案 :对
29、MyBatis是通过元素的子元素该元素来处理一对多关联关系的()2分
参考答案 :对
30、在Java对象中,多对多的关系是在A类中定义B类类型的集合,在B类中定义A类类型的集合()2分
参考答案 :对
31、MyBatis是通过元素的子元素该元素来处理一对一关联关系的()。
参考答案 :错
32、在Java中,一对多的关系就是在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a。2分
参考答案 :对
33、MyBatis中的元素主要用于更新操作,其主要作用是在动态包含的SQL语句前输出一个SET关键字,并将SQL语句中最后一个多余的逗号去除()2分
参考答案 :对
34、MyBatis中元素的属性与元素相同,且使用也很简单,同样有嵌套查询和嵌套结果两种关联方式()2分
参考答案 :错
35、MyBatis中多对多关联映射同样有嵌套查询和嵌套结果两种关联方式。2分
参考答案 :对
36、在MyBatis中,元素是最常用的判断语句,它类似于Java中的if语句,主要用于实现某些简单的条件选择()2分
参考答案 :对
37、MyBatis关联映射的元素和元素中都已默认配置了延迟加载属性。2分
参考答案 :对
38、在使用元素时,只要test属性中的表达式为true,就会执行元素中的条件语句。2分
参考答案 :对
39、在数据库中,多对多的关联关系通常使用一个中间表来维护,比如中间表中的订单id作为外键参照订单表的id,商品id作为外键参照商品表的id()2分
参考答案 :对
40、MyBatis默认没有开启延迟加载,需要在核心配置文件中的元素内进行配置。2分
参考答案 :对
41、当表中的列名与对应对象的属性名称完全一致时,在查询映射文件中可以不使用resultMap属性。2分
参考答案 :对
42、MyBaits中的、、元素用于多条件分支判断,当元素中的条件为真,就进行动态组装元素内的SQL片段,以此类推()。
参考答案 :错
答案说明 :当第一个元素中的条件为真,就不会判断和组装后面的元素内SQL了
43、MyBatis动态SQL中的元素内,可以有多个和子元素()2分
参考答案 :错
答案说明 :只能有一个子元素
44、使用元素的test属性可以对传入参数进行条件判断,如果传入的条件成立就进行动态SQL组装。()2分
参考答案 :对
45、MyBatis映射文件中元素的属性select用于指定引入嵌套查询的子SQL语句,该属性用于关联映射中的嵌套查询()2分
参考答案 :对
46、在MyBatis中元素用于单条件分支判断,当某个的test属性判断成立,然后跳过其他元素进行动态SQL组装()。
参考答案 :错
47、在关系型数据库中,多表之间存在着三种关联关系,分别为一对一、多对一和多对多()2分
参考答案 :错
48、MyBaits中对原始SQL中的“where 1=1”的条件可以使用与元素组合进行替换()。
参考答案 :对
49、在关系型数据库中,一对多就是在“一”的一方,添加“多”的一方的主键作为外键()。
参考答案 :错
50、MyBatis提供了元素可以解决模糊查询时SQL注入问题,且不会影响数据库移植()2分
参考答案 :对

SpringMVC基础:
单选题
1、下面不属于@RequestParam注解类型属性的是(A)2分
A、id
B、value
C、name
D、required
2、下面关于Spring MVC特点说法错误的是(A)。2分
A、灵活性强,但不易于与其他框架集成
B、可自动绑定用户输入,并能正确的转换数据类型
C、支持国际化
D、使用基于XML的配置文件,在编辑后,不需要重新编译应用程序
3、下面关于请求处理方法返回类型说法错误的是(D)。2分
A、常见的返回类型是ModelAndView、String和void
B、ModelAndView类型中可以添加Model数据,并指定视图
C、String类型的返回值可以跳转视图,但不能携带数据
D、void类型主要在异步请求时使用,它既返回数据,又跳转视图
4、下面选项中,哪一个是Spring的编码过滤器类(B)2分
A、org.springframework.web.filter.EncodingFilter
B、org.springframework.web.filter.CharacterEncodingFilter
C、org.springframework.web.filter.CharacterEncoding
D、org.springframework.web.filter.CharacterFilter
5、下面关于元素说法错误的是(C)。2分
A、如果元素的值为1,则在应用程序启动时会立即加载该Servlet
B、如果元素不存在,则应用程序会在第一个Servlet请求时加载该Servlet
C、如果元素的值为1,则在应用程序启动时会延迟加载该Servlet
D、元素是可选的
6、下面选项中,能够正确访问下面代码中方法是(C)
@Controller
@RequestMapping("/first")
public class FirstController{
@RequestMapping("/first")
public String handleRequest(HttpServletRequest request,
HttpServletResponse response, Model model) throws Exception {
model.addAttribute(“msg”, “这是我的第一个Spring MVC程序”);
return “first”;
}
}
A、http://localhost:8080/chapter12/hello/firstController
B、http://localhost:8080/chapter12/first/firstController
C、http://localhost:8080/chapter12/first/first
D、http://localhost:8080/chapter12/hello/first
7、以下有关Spring MVC常用的默认参数类型及说法错误的是(C)。A、HttpServletRequest通过request对象获取请求信息
B、HttpServletResponse通过response处理响应信息
C、HttpSession通过session对象得到session中存放的对象
D、Model/ModelMap:Model或ModelMap是一个接口,作用是将model数据填充到request域。
答案说明 :Model是一个接口,ModelMap是一个接口实现
8、用户通过浏览器向服务器发送请求时,负责拦截用户请求的是(D )。
A、处理器
B、处理器映射器
C、处理器适配器
D、前端控制器
9、入门程序中,不是必须引入的JAR包是(D)2分
A、Spring的4个核心JAR包
B、commons-logging的JAR包
C、spring-web和spring-webmvc的JAR包
D、log4j的JAR
10、下面关于Spring MVC数据绑定流程说法错误的是(C)。2分
A、Spring MVC将ServletRequest对象传递给DataBinder
B、Spring会将处理方法的入参对象传递给DataBinder
C、DataBinder调用BindingResult组件进行数据类型转换、数据格式化等工作
D、调用Validator组件对已经绑定了请求消息数据的参数对象进行数据合法性校验
答案说明 :DataBinder调用ConversionService组件
11、Spring MVC是Spring提供的一个实现了(A)设计模式的轻量级Web框架。2分
A、Web MVC
B、Web
C、单例
D、工厂
12、下面关于@RequestMapping注解说法错误的是(D)。2分
A、@RequestMapping注解的默认属性是value
B、@RequestMapping注解的value属性值可以省略
C、@RequestMapping注解的value属性名可以省略
D、@RequestMapping注解的value属性必须标注
13、RequestMapping注解类型的作用是(A)。2分
A、用于映射一个请求或一个方法
B、用于映射一个控制器类
C、用于映射请求参数
D、用于映射请求类型
14、下面不属于Spring MVC中常用的默认参数类型的是(D)。2分
A、HttpServletRequest
B、HttpServletResponse
C、HttpSession
D、ModelView
15、下面关于包装POJO类型数据绑定的说法正确的是(A)。2分
A、如果查询条件参数是包装类的直接基本属性,则参数名直接用对应的属性名
B、如果查询条件参数是包装类的直接基本属性,则参数名必须使用对应的“对象.属性名”
C、如果查询条件参数是包装类中POJO的子属性,则参数名必须为属性名
D、如果查询条件参数是包装类中POJO的子属性,则参数名必须为“对象.子属性.属性值”的形式
16、@RequestParam注解中可以省略属性名称的是(B)2分
A、defaultValue
B、value
C、name
D、required
17、下面关于组合注解的说法正确的是(B)。2分
A、组合注解是Spring3.x版本中的新特性
B、组合注解可以简化常用的HTTP方法的映射
C、在所有的Spring项目中,使用组合注解可以替代@RequestMapping注解
D、@GetMapping注解可以用来匹配GET和POST方式的请求
18、下面类型中,不属于请求处理方法参数类型的是()。2分
A、javax.servlet.http.HttpSession
B、@MatrixVariable
C、org.springframework.ui.Model
D、void
19、以下有关Spring MVC支持的返回值类型及说法错误的是(B)。
A、ModelAndView返回值类型中可以添加Model数据,并指定视图
B、String返回值类型也可以携带数据并跳转视图;
C、void返回类型主要在异步请求时使用,它只返回数据,而不会跳转视图
D、String类型除了可以返回视图页面外,还可以进行重定向与请求转发。
20、以下有关Spring MVC数据绑定中集合数据绑定的说法正确的是(D)。
A、批量删除用户操作时,前端请求传递过来的参数就会包含多个相同类型的数据,此时可以采用数组类型数据绑定的形式
B、使用集合数据绑定需要后台方法中定义一个集合类型参数介绍绑定前端请求参数
C、绑定数组与绑定集合页面传递的参数相同,只是后台接收方法的参数不同
D、在使用集合数据绑定时,后台方法中不支持直接使用集合形参进行数据绑定
21、Spring MVC中的后端控制器是指(D)。2分
A、HandlerAdapter
B、DispatcherServlet
C、ViewReslover
D、Handler
多选题:
22、注解@RequestMapping可以标注在(AB)。2分
A、一个类上
B、一个方法上
C、一个属性上
D、以上都可以
23、以下哪些属于@RequestMapping注解的属性(ABCD)。2分
A、name
B、value
C、method
D、params
24、在使用Spring MVC框架时,web.xml配置文件中可以配置有(ABCD)。
A、前端过滤器DispatcherServlet
B、初始化时加载配置文件contextConfigLocation
C、程序启动时加载该Servlet
D、请求路径映射
25、下面几种类型中,属于Spring MVC可以绑定的简单数据类型的是(ABC)2分
A、int
B、String
C、Double
D、Array
26、下面关于Spring MVC特点说法正确的是(ABCD)。2分
A、灵活性强,易于与其他框架集成
B、提供了一个前端控制器DispatcherServlet,使开发人员无需额外开发控制器对象
C、支持国际化
D、支持多种视图技术
27、在Spring MVC的配置文件中,属于可选配置的是(ABC)2分
A、处理器映射器
B、处理器适配器
C、视图解析器
D、处理器
28、以下哪些属于Spring MVC所支持的方法返回类型有(ABCD)。2分
A、ModelAndView
B、ResponseEntity<?>
C、String
D、void
判断题:
29、注册自定义的Formatter转换器类时,Bean的类名必须是org.springframework.format.support.FormattingConversionServiceFactoryBean,并且其属性为formatters 。
参考答案 :对
30、Spring MVC会将BindingResult对象中的内容赋给处理方法的相应参数。
参考答案 :对
31、Spring MVC的灵活性比较弱,易于与其他框架集成。
参考答案 :错
答案说明 :Spring MVC灵活性强,易于与其他框架集成
32、注解@Controller可以添加在控制器类或方法上。
参考答案 :错
33、在中,通过元素的“/”,会将所有URL拦截,并交由DispatcherServlet处理。
参考答案 :对
34、自定义类型转换器的配置中,Bean的类名称必须为org.springframework.context.support.ConversionServiceFactoryBean
参考答案 :对
35、@RequestMapping注解只能标注在一个方法上
参考答案 :错
答案说明 :可以标注在类和方法上
36、在控制器类中,每一个请求处理方法都可以有一个多种类型的参数,以及多个不同类型的返回结果。
参考答案 :错
37、元素中的1表示容器在启动时立即加载这个Servlet。
参考答案 :对
38、当注解@RequestMapping的value是其唯一属性时,可以省略属性名。
参考答案 :对
39、当前端请求的参数比较简单时,可以在后台方法的形参中直接使用Spring MVC提供的默认参数类型进行数据绑定。
参考答案 :对
40、如果没有通过元素配置,则应用程序会默认去WEB-INF目录下寻找servletName-servlet.xml。
参考答案 :错
41、controller注解类型的注解形式为@Controller,它可以标注在任何类上。
参考答案 :错
答案说明 :需要标注在控制器类上
42、在使用POJO类型数据绑定时,前端请求的参数名必须与要绑定的POJO类中的属性名一样。
参考答案 :对
43、Spring MVC框架会通过ServletRequest将请求参数串的内容进行类型转换。
参考答案 :错
答案说明 :Spring MVC框架会通过数据绑定组件(DataBinder)将请求参数串的内容进行类型转换
44、要使用集合数据绑定,需要在包装类中定义一个包含用户信息类的集合,然后在接收方法中将参数类型定义为该包装类的集合。
参考答案 :对
45、在web.xml中元素和元素都是可选的。
参考答案 :对
46、当@RequestMapping标注在类上时,该控制器所处理的所有请求都被映射到value属性值所指定的路径下。
参考答案 :对
47、@RequestMapping的method属性必须使用。
参考答案 :错
答案说明 :method属性可以省略
48、在控制器类中,每一个请求处理方法都可以有多个不同类型的参数,以及一个多种类型的返回结果。
参考答案 :对
49、@RequestParam注解类型主要用于对请求中的参数进行定义。
参考答案 :对
答案说明 :
50、返回String类型数据时,可以实现请求转发和重定向。
参考答案 :对

拦截器以及文件上传下载:
单选题:
1、关于用户权限验证的执行流程,说法错误的是( D )2分
A、只有登录后的用户才能访问系统中的主页面
B、如果没有登录系统而直接访问主页面,则拦截器会将请求拦截,并转发到登录页面
C、如果用户名或密码错误,会在登录页面给出相应的提示信息
D、当已登录的用户在系统主页中单击“退出”链接时,系统会回到主页面
答案说明 :回到登录页面
2、下面关于文件上传表单说法错误的是(B)。2分
A、form表单的method属性设置为post
B、form表单的method属性设置为get
C、form表单的enctype属性设置为multipart/form-data
D、提供的文件上传输入框
3、下面属于CommonsMultipartResolver属性的是(D)。
A、getContentType
B、getInputStream
C、isEmpty
D、defaultEncoding
4、下面不属于拦截器类中的方法的是(D)。2分
A、preHandler()
B、postHandle()
C、afterCompletion()
D、afterpletion()
5、以下有关Spring MVC配置文件中拦截器的配置说法错误的是(D)。
A、要使用Spring MVC中拦截器,要先自定义拦截器还需要在配置文件中进行配置
B、mvc:interceptors元素用于配置一组拦截器,其子元素中定义的是指定路径的拦截器
C、mvc:interceptors元素中可以同时配置多个mvc:interceptor子元素
D、mvc:exclude-mapping元素用于配置不需要拦截的路径请求
6、下列关于拦截器的执行流程说法错误的是( C )2分
A、程序首先会执行拦截器类中的preHandle()方法
B、如果preHandle()方法的返回值为true,则程序会继续向下执行处理器中的方法,否则将不再向下执行
C、在业务处理器(即控制器Controller类)处理完请求后,会执行preHandle()方法
D、在DispatcherServlet处理完请求后,才会执行afterCompletion()方法
答案说明 :会执行postHandle()方法
7、下面不属于文件解析器类CommonsMultipartResolver属性的是( D)2分
A、maxUploadSize
B、maxInMemorySize
C、defaultEncoding
D、lazy
8、以下哪个方法可以定义Spring MVC中的拦截器( B)2分
A、继承HandlerInterceptor
B、实现WebRequestInterceptor
C、实现HandlerInterceptorAdapter
D、继承WebRequestInterceptor
9、下面关于文件下载方法内容描述错误的是( D)2分
A、响应头信息中的MediaType代表的是Interner Media Type(即互联网媒体类型),也叫做MIME类型
B、MediaType.APPLICATION_OCTET_STREAM的值为application/octet-stream,即表示以二进制流的形式下载数据
C、HttpStatus类型代表的是Http协议中的状态
D、HttpStatus.OK表示500,即服务器已成功处理了请求
10、下面关于MultipartFile接口中说法错误的是(B)。2分
A、getOriginalFilename()用于获取上传文件的初始化名
B、getSize()用于获取上传文件的大小,单位是KB
C、getInputStream()用于读取文件内容,返回一个InputStream流
D、transferTo(File file)用于将上传文件保存到目标目录下
答案说明 :单位是字节
11、以下有关CommonsMultipartResolver类的属性及说法错误的是(C)。
A、maxUploadSize:上传文件最大长度(以字节为单位)
B、maxInMemorySize:缓存中的最大尺寸
C、defaultEncoding:默认编码格式,默认为utf-8
D、resolveLazily:推迟文件解析
答案说明 :defaultEncoding:默认编码格式ISO-8859-1
12、以下有关Spring MVC中自定义拦截器的方法说法错误的是(C)。A、自定义的拦截器可实现HandlerInterceptor接口来实现
B、preHandler()方法会在控制器方法前执行,其返回值表示是否中断后续操作
C、postHandle()方法会在控制器方法和解析视图之前执行
D、afterCompletion()方法:该方法会在整个请求完成,即视图渲染结束之后执行
答案说明 :postHandle()方法会在控制器方法调用之后,且解析视图之前执行。
多选题:
13、以下哪些属于mvc:interceptors元素的子元素(ABC)。2分
A、mvc:interceptor
B、
C、
D、mvc:mapping
答案说明 :mvc:mapping属于mvc:interceptor的子元素
14、在Spring MVC中实现文件上传下载,还需要导入支持文件上传下载的相关JAR包(AC)。2分
A、commons-fileupload.jar
B、commons-filedownload.jar
C、commons-io.jar
D、commons-beanutils.jar
15、以下哪些属于MultipartFile接口中的方法(ABCD)。2分
A、getContentType()
B、getInputStream()
C、getOriginalFilename()
D、transferTo(File file)
16、IE系列浏览器的请求代理User-Agent中的关键字有(ABC)。2分
A、MSIE
B、Trident
C、Edge
D、Mozilla
17、通过Spring MVC中的拦截器可以实现以下哪些功能(ABCD)。2分
A、进行权限验证
B、记录请求信息的日志
C、判断用户是否登录
D、资源清理
18、在实现文件上传案例中,Spring MVC配置文件主要配置内容有(ABCD)。
A、组件扫描器
B、注解驱动
C、视图解析器
D、文件上传解析器
19、下面属于文件解析器类CommonsMultipartResolver属性的是(ABCD)。2分
A、maxUploadSize
B、maxInMemorySize
C、defaultEncoding
D、resolveLazily
20、以下有关多个拦截器的执行流程说法正确的是()。2分
A、有多个拦截器时,拦截器的执行顺序与配置文件中所定义的拦截器的顺序相关
B、有多个拦截器时,postHandle()方法会按照配置文件中拦截器的配置顺序执行
C、有多个拦截器时,preHandle()方法和afterCompletion()方法则会按照配置顺序的反序执行
D、不管配置顺序如何,拦截器的afterCompletion()方法总是最后执行
21、在实现中文名文件下载时,以下说法正确的是(AB)。2分
A、要在前端页面发送请求前先对中文名进行统一编码,然后在后台控制器类中对文件名称进行相应的转码
B、在jsp页面可以使用URLEncoder类中的encoder(String s, String enc)方法将中文转码
C、在jsp页面进行转码时,可以直接引用encoder(String s, String enc)方法
D、后台控制器类中可以将文件名统一utf-8编码。
22、以下哪些方法可以定义Spring MVC中的拦截器(ABC)。
A、实现HandlerInterceptor接口
B、实现WebRequestInterceptor接口
C、继承HandlerInterceptorAdapter类
D、继承WebRequestInterceptor类
23、下面关于文件下载方法内容描述正确的是(ABC)。2分
A、响应头信息中的MediaType代表的是Interner Media Type(即互联网媒体类型),也叫做MIME类型
B、MediaType.APPLICATION_OCTET_STREAM的值为application/octet-stream,即表示以二进制流的形式下载数据
C、HttpStatus类型代表的是Http协议中的状态
D、HttpStatus.OK表示500,即服务器已成功处理了请求
答案说明 :HttpStatus.OK表示200
24、以下有关实现用户登录权限验证的说法错误的是(AD)。2分
A、用户登录时,需要对用户名或密码使用拦截器验证
B、jsp页面进行用户登录使用POST方法进行请求
C、可以通过request.getRequestURI()方法获取请求的URI
D、用户登录成功后直接放行即可
判断题:
25、Spring MVC需要通过第三方组件来实现文件上传。2分
参考答案 :错
26、上传的文件,可以在项目目录中找到。
参考答案 :错
答案说明 :可以在项目的发布目录中找到
27、全局拦截器和指定路径下的拦截器不能够同时配置,否则运行时会报错。
参考答案 :错
答案说明 :可以同时配置
28、在实现用户登录权限验证中,需要定义一个登录拦截器,并在拦截器的postHandle()方法中编写业务逻辑进行登录控制()。
参考答案 :错
29、Spring MVC的文件上传是通过MultipartResolver对象实现的。
参考答案 :对
30、通过maxUploadSize属性可以对上传文件缓存中的最大尺寸进行设置。
参考答案 :错
答案说明 :上传文件最大长度进行设置
31、在执行完拦截器postHandle()方法后就会在业务处理器中进行请求处理。
参考答案 :错
32、mvc:interceptor中的子元素可以按照任意位置编写。
参考答案 :错
答案说明 :mvc:interceptor中的子元素必须按照规定的配置顺序进行编写
33、可以通过继承HandlerInterceptorAdapter来定义拦截器类。
参考答案 :对
34、多个拦截器时,postHandle()方法和afterCompletion()方法则会按照配置顺序执行。
参考答案 :错
答案说明 :会按照配置顺序的反序执行
35、拦截器类中的preHandler()方法会在控制器方法前执行。
参考答案 :对
36、在Spring MVC中进行中文名文件下载中,后台可以对所有浏览器进行统一编码格式处理。
参考答案 :错
37、在进行文件上传时,通常可以使用GET方式进行。
参考答案 :错
38、开发中,通常只需要自定义一个拦截器,在该拦截器的不同方法中就可以处理不同的请求了。
参考答案 :错
39、要使自定义的拦截器类生效,还需要在Spring MVC的配置文件中进行配置。
参考答案 :对
40、拦截器的执行是有一定顺序的,该顺序与配置文件中所定义的拦截器的顺序相关。
参考答案 :对
41、要使用Spring MVC中的拦截器,必须自定义拦截器类就可以了。
参考答案 :错
42、在Spring MVC配置文件中,可以指定多个mvc:interceptors元素用于配置拦截器。
参考答案 :错
43、在同一个mvc:interceptor元素下可以使用多个来配置多个拦截器类。
参考答案 :对
答案说明 :可以,但不建议,因为这样不能区分不同的拦截路径
44、在后台处理中文名文件下载时,要将谷歌浏览器与其他浏览器区分对待,使用不用的格式转码。
参考答案 :错
45、配置拦截器时,必须将path的属性值设置为/**。
参考答案 :错
答案说明 :设置作用路径即可
46、当拦截器类中的preHandle()方法返回值为false,则程序会继续向下执行。
参考答案 :错
47、在实现用户登录页面,可以使用GET方式提交登录请求。
参考答案 :对
48、上传文件时,必须要保证所上传的文件不重名,为此可以通过UUID等方式对上传的文件名称进行重命名。
参考答案 :对
49、在进行文件下载时,必须向lib目录加入commons-filedownload.jar。
参考答案 :错

SSM框架整合:
单选题
1、下面选项中,不属于整合SSM框架所编写的配置文件的是( D )A、db.properties
B、applicationContext.xml
C、mybatis-config.xml
D、struts.xml
答案说明 :struts.xml是Struts2的配置文件
2、下面选项中,关于Web表现层说法错误的是(C )2分
A、该层主要包括Spring MVC中的Controller类和JSP页面
B、Controller类主要负责拦截用户请求
C、Controller类会调用业务逻辑层中相应组件的业务逻辑方法来处理用户响应
D、Controller类会将请求的结果返回给JSP页面
答案说明 :处理用户请求
3、下列关于BOOT客户管理系统用户登录模块说法错误的是( D )2分
A、用户登录过程中首先要验证用户名和密码是否正确,如果正确,可以成功登录系统,系统会自动跳转到主页
B、用户登录过程中首先要验证用户名和密码是否正确,如果错误,则在登录页面给出错误提示信息
C、为了保证系统的安全性,用户登录时必须实现登录验证
D、为了保证系统的稳定性,用户登录时必须实现登录验证
4、拦截用户请求是在哪一层次中实现的(D)。2分
A、持久对象层
B、数据访问层
C、业务逻辑层
D、Web表现层
5、下列关于SSM框架的整合说法错误的是(D )2分
A、Spring MVC与Spring之间不存在整合的问题
B、SSM框架的整合就涉及到Spring与MyBatis的整合
C、SSM框架的整合就涉及到Spring MVC与MyBatis的整合
D、SSM框架的整合就涉及到Spring MVC与Spring之间的整合
6、下列选择中,不属于Jackson所使用的JAR包的是(D)。
A、jackson-annotations-2.8.6.jar
B、jackson-core-2.8.6.jar
C、jackson-databind-2.8.6.jar
D、jackson-json-2.8.6.jar
答案说明 :jackson所提供的JAR包中没有jackson-json-2.8.6.jar
7、下列关于客户管理模块说法,正确的是( A )
A、查询操作通常可以分为按条件查询和查询所有
B、添加客户操作时,新建客户信息窗口中需要回显出客户信息
C、修改客户时,必须修改所有的客户信息才可以执行保存修改
D、删除客户时,只是更改了数据表中数据的状态,并没有删除数据库中的数据
8、下列选项中,不需要配置在web.xml中的是(C)。2分
A、Spring的监听器
B、编码过滤器
C、视图解析器
D、前端控制器
答案说明 :视图解析器配置在Spring MVC的配置文件中
9、下列选项中,不属于SSM整合时所需的JAR包的是(D)。2分
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
答案说明 :xwork-core-2.3.24.jar是Struts2中的JAR包
10、下列选项中,不属于BOOT客户管理系统中功能的是()。
A、用户登录
B、用户管理
C、查询客户
D、修改客户
11、下列选项中,属于Spring MVC所必须的JAR包的是(A)。2分
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
多选题:
12、下列选项中,属于SSM框架整合时所编写的配置文件的是(ABC)。A、db.properties
B、applicationContext.xml
C、C、mybatis-config.xml
D、struts.xml
答案说明 :struts.xml是Struts2的配置文件
13、下列选项中,属于SSM整合时所需的JAR包的是(ABC)。4分
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
答案说明 :xwork-core-2.3.24.jar是Struts2框架中的JAR包
14、下列选项中,需要配置在web.xml中的是(ABD)。4分
A、Spring的监听器
B、编码过滤器
C、视图解析器
D、前端控制器
参考答案 :A,B,D
答案说明 :视图解析器配置在Spring MVC的配置文件中
15、下列关于SSM框架的整合说法正确的是( ABC )。4分
A、Spring MVC与Spring之间不存在整合的问题
B、SSM框架的整合就涉及到Spring与MyBatis的整合
C、SSM框架的整合就涉及到Spring MVC与MyBatis的整合
D、SSM框架的整合就涉及到Spring MVC与Spring之间的整合
答案说明 :除涉及到Spring MVC与Spring之间的整合外,还涉及到Spring
16、下列选项中,不是Spring MVC所必须的JAR包的是(BCD)。4分
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
17、下列选择中,属于Jackson所使用的JAR包的是(ABC)。4分
A、jackson-annotations-2.8.6.jar
B、jackson-core-2.8.6.jar
C、jackson-databind-2.8.6.jar
D、jackson-json-2.8.6.jar
判断题:
18、@Responsebody注解与@RequestMapping注解配合使用时,页面中将可以获取到方法的返回值。
参考答案 :对
19、在实际开发时,为了避免Spring配置文件中的信息过于臃肿,通常会将Spring配置文件中的信息按照不同的功能分散在多个配置文件中。
参考答案 :对
20、为保证每次单击“新建”按钮后所弹出的模态框内没有任何数据,需要在弹出模态框前执行清空模态框中内容的方法。
参考答案 :对
21、“@Responsebody”注解一般在同步获取数据时使用。
参考答案 :错
答案说明 :一般在异步获取数据时使用
22、在web.xml中,配置信息/中的“/”表示拦截除jsp外的所有请求。
参考答案 :对
23、在BOOT客户管理系统中,添加操作的模态框与修改操作的模态框内的显示信息一致。
参考答案 :对
24、退出登录时,需要清除Session中的用户信息。
参考答案 :对
25、@Autowired注解需要标注在Service层的实现类上,这样才能实现依赖注入。
参考答案 :错
答案说明 :标注在属性上
26、查询操作也会被程序纳入事务管理范围。
参考答案 :错
答案说明 :查询操作不需要事务管理
27、实现登录验证后,即使关闭浏览器,系统也可以通过客户管理页面的链接直接登录。
参考答案 :错
答案说明 :实现登录验证后,必须通过登录页面登录后,才能访问客户管理页面
28、@Transactional注解主要是针对数据的增加、修改、删除和查询进行事务管理。
参考答案 :错
答案说明 :查询不需要事务管理
29、如果Spring与MyBatis框架整合成功,那么我们就可以通过调用Spring中实例对象中的查询方法来执行MyBatis映射文件中的SQL语句。
参考答案 :对
30、我们在操作一个系统中,执行最多的操作是添加操作。
参考答案 :错
答案说明 :查询操作
31、在Spring MVC的配置文件中,可以不配置视图解析器。
参考答案 :对
32、即使系统中不执行分页操作,所查询出的数据也可以在页面中显示。
参考答案 :对
33、业务逻辑层主要包括Spring MVC中的Controller类和JSP页面。
参考答案 :错
答案说明 :Web表现层
34、在BOOT客户管理系统中,未登录的用户也可以登录管理页面。
参考答案 :错
答案说明 :必须登录后才可以登录管理页面
35、在Spring MVC的配置文件中,视图解析器是必须配置的
参考答案 :错
答案说明 :
36、在设置事务的传播行为时,需要将与查询相关方法的read-only属性值设置为true。
参考答案 :对
37、修改操作时,修改信息窗口中的数据需要清空。
参考答案 :错
答案说明 :需要回显出修改数据的信息
38、删除操作可以不提示用户,直接在后台执行即可。
参考答案 :错
39、SSM整合时,只需要一个整合的中间JAR。
参考答案 :对
40、通常在系统中,查询出的数据都会分页显示。
参考答案 :对
41、删除操作只需将所需删除客户的id信息传递给后台删除方法即可。
参考答案 :对
42、Spring与Spring MVC,Spring MVC与MyBatis需要相互整合。
参考答案 :错
43、修改操作会被纳入Spring的事务管理。
参考答案 :对
44、BOOT客户管理系统在运行时,只使用了系统用户表和客户信息表。
参考答案 :错
答案说明 :系统用户表、客户信息表和数据字典表

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然!下面是一些常见的JavaEE面试题整理: 1. 什么是JavaEE?它是什么样的技术栈? JavaEEJava Enterprise Edition)是一套用于开发企业级应用程序的Java平台。它包括了一系列的规范和API,用于构建分布式、可伸缩、可安全性的应用程序。JavaEE的技术栈包括Servlet、JSP、EJB、JPA、JMS等。 2. Servlet是什么?它与JSP有什么区别? Servlet是JavaEE中处理Web请求的基本组件,它可以接收HTTP请求并生成HTTP响应。与之相比,JSP(JavaServer Pages)是一种基于HTML的模板语言,用于生成动态内容。Servlet通常用于处理业务逻辑,而JSP则用于显示数据。 3. 什么是EJB?它的作用是什么? EJB(Enterprise JavaBeans)是JavaEE中的一种组件模型,用于开发分布式事务处理应用程序。它提供了容器管理、事务管理、安全性等服务,简化了开发者的工作。EJB主要分为会话Bean、实体Bean和消息驱动Bean。 4. JPA与Hibernate有什么关系? JPA(Java Persistence API)是JavaEE中用于对象关系映射(ORM)的规范,它定义了一套标准的API用于操作数据库。而Hibernate是一个实现了JPA规范的ORM框架,它提供了丰富的功能和灵活性。 5. 什么是连接池?为什么要使用连接池? 连接池是一种用于管理数据库连接的技术,它通过预先创建一定数量的数据库连接并将其保存在连接池中,供应用程序使用。使用连接池可以避免频繁地创建和销毁数据库连接,提高数据库访问的性能和效率。 这只是一些常见的JavaEE面试题,希望对你有帮助!如果还有其他问题,请继续提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值