1. MyBatis框架章节
1.1 选择题
1. 使用ORM框架后,应用程序不再直接访问底层数据库,而是以()的方式来操作持久化对象(PO,即Persisent Object)。C
A、 面向业务 B、 Hibernate C、 面向对象 D、 MyBatis
2. 下面关于MyBatis提供的用于解决JDBC编程劣势的方案,说法错误的是()。B
A、在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接
B、MyBatis将SQL语句配置在MyBatis的映射文件中,未与Java代码的分离
C、MyBatis自动将Java对象映射至SQL语句,通过Statement中的parameterType定义输入参数的类型
D、MyBatis自动将SQL执行结果映射至Java对象,通过Statement中的resultType定义输出结果的类型
3. 有关MyBatis工作原理说法错误的是()。C
A、MyBatis的全局配置文件配置了MyBatis的运行环境等信息,其中主要内容是获取数据库连接
B、MyBatis映射文件中配置了操作数据库的SQL语句,需要在MyBatis的全局配置文件中加载才能执行
C、可以通过MyBatis的环境等配置信息构建会话对象SqlSession
D、SqlSession对象,该对象中包含了执行SQL的所有方法
4、下面关于映射文件中的<mapper>元素的属性,说法正确的是()。B
A、parameterType属性的值表示的是返回的实体类对象
B、namespace属性的值通常设置为对应实体类的全限定类名
C、resultType属性的值表示传入的参数类型
D、以上说法都不正确
5、下面关于MyBatis框架的说法,正确的是()。A
A、MyBatis是一个半自动映射的框架,这里所谓的“半自动”是相对于Hibernate全表映射而言的
B、MyBatis 是一个业务逻辑层的框架
C、MyBatis的封装性要比Hibernate高
D、MyBatis是一个全表映射的框架
6、以下关于<select>元素及其属性说法错误的是()。C
A、<select>元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组装数据给业务开发人员
B、parameterType属性表示传入SQL语句的参数类的全限定名或者别名
C、resultMap表示外部resultMap的命名引用,返回时可以同时使用resultType和resultMap
D、在同一个映射文件中可以配置多个<select>元素
7、下列元素中,可以为POJO实体类设置别名的是()。A
A、 <typeAliases>元素 B、 <settings>元素 C、 <mappers>元素 D、 <properties>元素
8、关于SqlSession对象的查询方法返回的结果类型,正确的是()。B
A、泛型对象的Set集合B、泛型对象的List集合 C、泛型对象的Map集合D、以上都对
9、以下有关MyBatis映射文件中<insert>元素说法正确的是()。C
A、<insert>元素用于映射插入语句,在执行完元素中定义的SQL语句后,没有返回结果
B、<insert>元素的属性与<select>元素的属性相同
C、keyColumn属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置
D、useGeneratedKeys(仅对insert有用)此属性会使MyBatis使用JDBC的getGeneratedKeys()方法来获取由数据库内部生产的主键
10、有关MyBatis配置文件中<settings>元素的说法错误的是()。C
A、<settings>元素中可以开启二级缓存
B、<settings>元素中可以开启延迟加载
C、<settings>元素中延迟加载的全局开关的参数lazyLoadingEnabled默认开启
D、<settings>元素中可以开启关联对象属性的延迟加载
11、假设有一个名称为UserMapper的XML文件,下列关于使用类路径引入映射文件的示例代码正确的是()。A
A、<mappers><mapper resource="com/itheima/mapper/UserMapper.xml"/></mappers>
B、<mappers><mapper resource="com/itheima/mapper/UserMapper"/></mappers>
C、<mapper resource="com/itheima/mapper/UserMapper.xml"/>
D、以上说法都不正确
12、下面关于Java对象之间的关联关系描述正确的是()。B
A、一对一的关系就是在本类和对方类中定义同一个类型的对象
B、一对多的关系:就是一个A类类型对应多个B类类型的情况
C、多对多的关系只需要在一方的类中引入另一方类型的集合
D、多对多关联关系需要在本类中引入本类的集合
13、下列关于MyBatis映射文件中加载关联关系对象的方式说法正确的是()。B
A、嵌套结果是指通过执行另外一条SQL映射语句来返回预期的复杂类型
B、嵌套结果是使用嵌套结果映射来处理重复的联合结果的子集
C、嵌套查询是使用嵌套结果映射来处理重复的联合结果的子集
D、以上说法都正确
14、在Java中,以下有关类的关联关系描述错误的是()。A
A、在Java中,通过对象也可以进行关系描述,他们分别为一对一、一对多、多对一和多对多
B、一对一的关系就是在本类中定义对方类型的对象
C、一对多的关系就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a
D、多对多的关系:在A类中定义B类类型的集合,在B类中定义A类类型的集合。
1.2 判断题
1. 如果一个项目有多个映射文件,则mybatis-config.xml核心配置文件中需要在<mappers>元素下配置多个<mapper>元素指定映射文件的路径。T
2. MyBatis映射文件中<mappers>元素是配置文件的根元素,它包含一个namespace属性,该属性为这个<mappers>指定了唯一的命名空间。F
3. 在传统JDBC编程中,SQL变动需要改变Java代码,违反了开闭原则。T
4. 软件框架是一种通用的、可复用的软件环境,它提供特定的功能,促进软件应用、产品和解决方案的开发工作。T
5. 软件框架会包含支撑程序、编译器、代码、库、工具集以及API,它把所有这些部件汇集在一起,以支持项目或系统的开发。T
6. SqlSessionFactory对象的openSession()方法的参数为boolean值时,默认为false。F
7. <delete>元素的flushCache属性可以指定是否需要MyBatis清空本地缓存和二级缓存,默认值为false。T
8. SqlSessionFactory对象是线程安全的,一旦被创建,在整个应用程序执行期间都存在。T
9. 与<insert>元素一样,<update>和<delete>元素在执行完之后,也会返回一个表示影响记录条数的整数。T
10. 当表中的列名与对应对象的属性名称完全一致时,在查询映射文件中可以不使用resultMap属性。T
1.3 填空题
1. MyBatis框架是一个ORM即_______框架。对象关系映射
2. JDBC中使用_______向占位符传参数时存在硬编码。preparedStatement
3. <mapper>元素包含的_______属性为这个<mapper>指定了唯一的命名空间。namespace
4. 通常每一个数据库都只创建一个SqlSessionFactory对象,因此在构建SqlSessionFactory对象时,建议使用_______模式。单例
5. 在MyBatis中,通过_______元素可以处理一对一关联关系。<association>
6. 默认状态下的_______是可读/可写的缓存,这意味着对象检索不是共享的。二级缓存
7. 在关系型数据库中,表与表之间存在着三种关联映射关系,分别为一对一、一对多和_______。多对多
1.4 简答题
1. 请列举5个MyBaits配置文件中的主要元素。
<properties>、<settings>、<typeAliases>、<environments>、<mappers>等元素。
2. 请简述<properties>元素的使用方法。
1.先添加一个全名为db.properties的配置文件; 2.在MyBatis配置文件mybatis-config.xml中配置<properties... />元素,引入db.properties的配置文件; 3.在需要修改配置文件中通过${}的形式替换常量。
2. Spring框架章节
2.1 选择题
1. 下列有关Spring框架的描述,错误的是( )。D
A、Spring是一个提供了一站式服务的框架
B、Spring是轻量级框架
C、Spring是开源框架
D、Spring是持久层框架。
2. 以下哪个选项不属于Spring的核心容器的组成模块()。D
A、 Beans模块 B、 Core模块 C、 Context模块 D、 AOP模块
3. 下列选项中,用于给构造方法的参数注入值的是( )。C
A、 <bean> B、 <property> C、 <constructor-arg> D、 <dependency>
4. Spring容器默认的作用域是()。D
A、 prototype B、 request C、 session D、 singleton
5. Spring的常用注解中,用于指定要自动装配的对象的注解是()。A
A、 @Autowired B、 @Repository C、 @Service D、 @Controller
6. Spring容器中用于监控Bean对象初始化节点的注解是()。
A、 @PostConstruct B、 @PreDestroy C、 @GetConstruct D、 @Destroy
7. 在ApplicationContext接口实现类中从类路径加载配置文件,实例化ApplicationContext接口的类方法是()。C
A、WebApplicationContext
B、AnnotationConfigApplicationContext
C、ClassPathXmlApplicationContext
D、FileSystemXmlApplicationContext
8. 在Spring的配置文件中,配置切面使用的元素是()。B
A、 <aop:config> B、 <aop:aspect> C、 <aop:advisor> D、 <aop:pointcut>
9. 下列选项中,用于配置异常通知的注解是()。
A、 @After B、 @Around C、 @AfterReturning D、 @AfterThrowing
10. 下列选项中,对CGLIB动态代理的说法错误的是()。C
A、CGLIB动态代理采用底层的字节码技术,通过继承的方式动态创建代理对象
B、当需要为类创建代理对象时,就需要使用CGLib动态代理
C、CGLIB是一个高性能开源的代码生成包,在使用时需要另外导入CGLIB所需要的包
D、Spring AOP的实现机制分两种,一种是JDK动态代理,一种是CGLib动态代理
11. 下列选项中对JDK动态代理的描述,错误的是()。A
A、JDK动态代理是通过java.lang.reflect.InvocationHandler 接口来实现的
B、使用JDK动态代理的对象必须实现接口
C、Spring中的AOP代理,可以是JDK动态代理,也可以是CGLIB代理
D、对于使用业务接口的类,Spring默认会使用JDK动态代理来实现AOP
12. 下列选项的Spring AOP的XML元素,用于在目标方法执行前实施增强,可以应用于权限管理等功能的是()。A
A、 <aop:before> B、 <aop:after> C、 <aop:around> D、 <aop:after-returning>
13. 下列选项中,对基于注解方式的声明式事务描述错误的有()。D
A、可以简化Spring配置文件中的代码
B、使用的是Spring提供的@Transactional注解
C、@Transactional可以标注在接口、接口方法、类或类方法上
D、@Transactional标注类时,该类的所有方法都将具有同样类型的事务属性
14. 下列选项中,关于事务管理方式相关说法错误的是()。B
A、Spring中的事务管理分为两种方式:一种是传统的编程式事务管理,另一种是声明式事务管理
B、编程式事务管理:是通过AOP技术实现的事务管理,就是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚
C、声明式事务管理:其主要思想是将事务管理作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”代码植入到业务目标类中
D、声明式事务管理最大的优点在于开发者无需通过编程的方式来管理事务,只需在配置文件中进行相关的事务规则声明,就可以将事务规则应用到业务逻辑中
2.2 判断题
1. 控制反转(Inversion of Control,缩写为IoC)用来降低程序代码之间的耦合度。T
2. Spring配置文件的名称可以自定义,通常在实际开发中,都会将配置文件命名为applicationContext.properties。F
3. 依赖注入(DI)与控制反转(IoC)的含义不同,描述的不是同一个概念。F
4. 基于注解的装配可以较大程度上解决基于XML方式装配导致的配置文件臃肿和难以维护等问题。T
5. Spring容器支持XML和Properties两种格式的配置文件,在实际开发中,最常使用的就是Properties格式的配置方式。F
6. 构造方法实例化是通过Bean对应类中默认的无参构造方法来实例化Bean。T
7. JDK动态代理存在缺陷,它只能为接口创建代理对象,当需要为类创建代理对象时,就需要使用CGLib(Code Generation Library)动态代理。T
8. 在AOP专业术语中,切面是指要对哪些Joinpoint进行拦截。F
9. Spring声明式事务管理的两种实现方式中,基于注解的实现方式可以简化Spring配置文件中的代码避免冗余,要优于基于XML的实现方式。T
10. TransactionStatus接口主要用于界定事务的状态,通常情况下,声明式事务中使用该接口较多。F
2.3 填空题
1. _______注入是指Spring容器调用构造方法注入被依赖的实例,构造方法可以是有参的或者是无参的。构造方法
2. _______就是由IoC容器在运行期间动态地将某种依赖资源注入对象之中。依赖注入
3. ClassPathXmlApplicationContext 从_______加载配置文件,实例化 ApplicationContext 接口。类路径
4. 静态工厂实例化Bean需要使用factory-method属性来指定所创建的_______。静态工厂方法
5. _______是Spring容器最基本的接口,它的实现机制采用的是Java经典的工厂模式。BeanFactory
6. Spring AOP的常用实现方法有两种,分别是基于XML文件的实现和基于_______的实现。注解
7. JDBC连接数据库时需要4个基本属性,包括有_____、url、username和password。driverClassName
8. 在具体的数据库操作中,DataSource还可以提供对数据库连接的缓冲池和_____的支持。分布式事务
2.4 简答题
1. 请简述依赖注入和控制反转的概念。
在使用Spring框架之后,对象的实例不再由调用者来创建,而是由Spring容器来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权由应用代码转移到了Spring容器,控制权发生了反转,这就是Spring的控制反转。 从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相当于为调用者注入了它依赖的实例,这就是Spring的依赖注入。
2. 请说出Spring 支持的 3 种作用域,及作用域作用的范围。
singleton(单例模式):在单例模式下,Spring 容器中只会存在一个共享的 Bean 实例,所有对 Bean 的请求,只要请求的 id(或 name)与 Bean 的定义相匹配,就会返回 Bean 的同一个实例; prototype(原型模式):每次从容器中请求 Bean 时,都会产生一个新的实例;request:每一个 HTTP 请求都会有自己的 Bean 实例,该作用域只能在基于Web的Spring ApplicationContext中使用;session:每一个HttpSession请求都会有自己的 Bean 实例,该作用域只能在基于Web的Spring ApplicationContext中使用;global session:限定一个Bean 的作用域为Web应用(HttpSession)的生命周期,只有在Web应用中使用Spring时,该作用域才有效。
3. 请说出4个AOP的专业术语,并进行解释。
1.切面(Aspect):切面是指关注点形成的类,通常是指封装的、用于横向插入系统的功能类。 2.连接点(Joinpoint):连接点是程序执行过程中某个特定的节点,在Spring AOP中,一个连接点通常是一个方法的执行。 3.切入点(Pointcut):当某个连接点满足预先指定的条件时,AOP就能够定位到这个连接点,在连接点处插入切面,该连接点也就变成了切入点。 4.通知/增强处理(Advice):通知/增强处理就是插入的切面程序代码。可以将通知/增强处理理解为切面中的方法,它是切面的具体实现。 5.目标对象(Target):目标对象是指被插入切面的方法。 6.织入(Weaving):将切面代码插入到目标对象上,从而生成代理对象的过程。 7.代理(Proxy):将通知应用到目标对象之后,程序动态创建的通知对象,就称为代理。 8.引介(Introduction):引介是一种特殊的通知,它为目标对象添加一些属性和方法。
4. 简述Spring中事务管理的两种方式。
Spring中的事务管理分为两种方式:一种是传统的编程式事务管理,另一种是声明式事务管理。其中,编程式事务管理是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚。声明式事务管理是通过AOP技术实现的事务管理,其主要思想是将事务管理作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”代码植入到业务目标类中。
3. Spring MVC框架章节
3.1 选择题
1. 下列关于Spring MVC的执行流程,说法错误的是()。D
A、用户通过浏览器向服务器发送请求,该请求会被DispatcherServlet前端控制器拦截
B、处理器映射器会生成处理器对象以及处理器拦截器返回给DispatcherServlet前端控制器
C、处理器适配器会调用并执行Controller类中的代码
D、Controller类中的代码执行完成后,会返回ModelAndView对象,该对象中只包含视图名
2. 下列元素中,可以在Spring MVC的配置文件中配置要扫描的包的是()。C
A、<load-on-startup>元素
B、<url-pattern>元素
C、<context:component-scan>元素
D、<servlet-mapping>元素
3. 关于Spring MVC支持的RESTful风格描述错误的是()。C
A、RESTful不是架构,只是另一种风格请求的URL
B、RESTful风格在HTTP请求中,通过GET 、POST 、PUT和DELETE 4个动词对应四种基本请求操作
C、RESTful风格也是一种规范,不可以打破
D、使用RESTful风格书写的路径,可以隐藏资源的访问行为。
4. 下列选项中,对于RequestMapping注解的作用说法正确的是()。A
A、用于映射一个请求或一个方法
B、用于映射一个控制器类
C、用于映射请求参数
D、用于映射请求类型
5. 下列选项中对Ant风格的通配符的说法错误的是()。C
A、?可以匹配任何单字符。
B、*可以匹配0或者任意数量的字符。
C、/*/ant3可以匹配到路径/findAll/a/ant3
D、**:匹配0或者多级目录。
6. 下列选项中,对DispatcherServlet说法错误的是()。B
A、DispatcherServlet是Spring MVC的流程控制中心,也称为Spring MVC的前端控制器
B、DispatcherServlet的本质是一个过滤器
C、DispatcherServlet拦截客户端的请求后会将请求转发到Spring MVC的其他组件
D、DispatcherServlet降低了Spring MVC组件之间的耦合性
7. 下列选项中对Sping MVC的组合注解说法错误的是( )。D
A、组合注解简化了常用的HTTP请求方式的映射,并且更好的表达了被注解方法的语义
B、@GetMapping用于匹配GET方式的请求
C、@PostMapping用于匹配POST方式的请求
D、使用@GetMapping和使用@RequestMapping(method = RequestMethod.GET)限定请求方式的效果不一样
8. 当Spring MVC方法的返回值为void类型,方法执行后会跳转到默认的页面。默认页面的路径拼接格式是( )。C
A、前缀+方法映射路径
B、方法映射路径+后缀
C、前缀+方法映射路径+后缀
D、方法映射路径
9. 下列关于Spring MVC数据绑定流程说法错误的是()。C
A、Spring MVC将ServletRequest对象传递给DataBinder
B、Spring会将处理方法的入参对象传递给DataBinder
C、DataBinder调用BindingResult组件进行数据类型转换、数据格式化等工作
D、调用Validator组件对已经绑定了请求消息数据的参数对象进行数据合法性校验
10. 下列注解中,可以与JSON格式转换器结合将JSON格式数据绑定到方法形参中的是( )。A
A、 @RequestBody B、 @RequestMapping C、 @RequestParam D、 @Controller
11. 下列关于Spring MVC常用的默认参数类型及说法错误的是( )。D
A、HttpServletRequest通过request对象获取请求信息
B、HttpServletResponse通过response处理响应信息
C、HttpSession通过session对象得到session中存放的对象
D、Model或ModelMap是一个接口,作用是将model数据填充到request域。
12. 下列选项,不是HandlerInterceptor接口中的方法的是( )。D
A、preHandler()
B、postHandle()
C、afterCompletion()
D、handler()
13. 下列选项,对注解@ControllerAdvice的描述错误的是( )。D
A、注解作用在类上时可以增强Controller
B、该注解是Spring3.2中新增加的
C、该注解需要结合注解@ExceptionHandler才可以捕获Controller中抛出的指定类型的异常,从而实现不同类型的异常统一处理
D、该注解不需要结合注解@ExceptionHandler,同样可以捕获Controller中抛出的指定类型的异常,从而实现异常处理
3.2 判断题
1. web.xml文件中,<load-on-startup>元素中的1表示在项目启动时会立即加载DispatcherServlet前端控制器。T
2. 在IDEA中使用插件运行Maven项目时,除了需要在pom.xml文件中配置对应的插件外,还需要在IDEA中进行项目运行的相关配置。T
3. Spring MVC提供了对MVC模式的全面支持,它可以将表现层进行解耦,同时,Spring MVC是基于请求-响应处理模型的请求驱动框架,简化了表现层的实现。T
4. <servlet-mapping>元素的子元素<url-pattern>内容为“/”,表示项目在运行时,Spring MVC的前端控制器会拦截所有的请求URL,并交由DispatcherServlet处理。T
5. 使用Maven的Tomcat插件运行Maven Web项目时,仍然需要将项目部署到本地Tomcat中。F
6. 只需要将@Controller注解标注在普通Java类上,然后通过Spring的扫描机制找到标注了该注解的Java类,该Java类就成为了Spring MVC的处理器类。T
7. @RequestMapping注解只能标注在方法上。F
8. @RequestMapping的value属性中,可以指定映射单个的请求URL,也可以将多个请求映射到一个方法上。T
9. 在复杂POJO数据绑定时,如果数据需要绑定到POJO属性对象的属性中,客户端请求的参数名格式必须为“属性对象名称.属性”。T
10. @RequestParam注解的required属性用于指定参数是否必须,它的默认值为false。F
11. 当程序中配置了多个拦截器时,拦截器中的postHandle()方法和afterCompletion()方法按照拦截器的配置顺序执行。F
3.3 填空题
1. Spring MVC的三大组件分别是处理器映射器、_____和视图解析器。处理器适配器
2. Spring MVC作用于三层架构中的_____,用于接收客户端的请求并进行响应。表现层
3. 在Spring MVC的执行过程中,Controller类的代码执行后,会返回一个_____对象。ModelAndView
4. 组合注解_____用于匹配GET方式的请求。@GetMapping
5. 当请求的映射方式是REST风格时,Spring MVC提供了_____注解进行简单类型数据绑定。@PathVariable
6. 当发生客户端请求需要传递多个同名参数到服务器端的情况,可以使用_____的方式来接收客户端的请求参数。数组绑定
7. Spring MVC的响应方式可以分为页面跳转和_____两种。数据回写
8. 根据请求参数类型和参数个数等数据信息的复杂程度,可以将Spring MVC中的数据绑定分为简单数据绑定和_____两类。复杂数据绑定
9. 使用_____注解相当于@Controller和@ResponseBody这两个注解的结合。@RestController
3.4 简答题
1. 请简述RequestMapping注解类型的作用及用法。
@RequestMapping 注解可以为 Handler 提供必要的映射信息,将请求的URL映射到具体的处理方法。该注解可以标注在方法和类上。 标注在方法上:该方法就成了一个可以处理客户端请求的Handler(处理器),它会在Spring MVC接收到对应的URL请求时被执行。 标注在类上:@RequestMapping的value属性值相当于本处理器类的命名空间,即访问该处理器类下的任意处理器都需要带上这个命名空间。
2. 简述Spring MVC数据绑定的过程。
Spring MVC 数据绑定的过程: ① Spring MVC 将 ServletRequest 对象传递给 DataBinder(数据绑定组件)。 ② 将处理方法的入参对象传递给 DataBinder。 ③ DataBinder 调用 ConversionService 组件进行数据类型转换、数据格式化等工作,并将 ServletRequest 对象中的消息填充到参数对象中。 ④ 调用 Validator 组件对已经绑定了请求消息数据的参数对象进行数据合法性校验。 ⑤ 校验完成后会生成数据绑定结果 BindingResult 对象,Spring MVC 会将 BindingResult 对象中的内容赋 给处理方法的相应参数。
3. 简述拦截器HandlerInterceptor接口中的方法并做说明。
HandlerInterceptor接口中有3个方法: 1、preHandler()方法:该方法会在控制器方法前执行,其返回值表示是否中断后续操作。当其返回值为true时,表示继续向下执行;当其返回值为false时,会中断后续的所有操作。 2、postHandle()方法:该方法会在控制器方法调用之后,且解析视图之前执行。可以通过此方法对请求域中的模型和视图做出进一步的修改。 3、afterCompletion()方法:该方法会在整个请求完成,即视图渲染结束之后执行。可以通过此方法实现一些资源清理、记录日志信息等工作。
4. Spring Boot框架章节
4.1 选择题
1. 以下关于Spring Boot中单元测试相关说法正确的是()。C
A、Spring Boot项目创建完成后,会自动生成单元测试类。
B、Spring Boot单元测试依赖为test-spring-boot-starter
C、Spring Boot单元测试类包括@SpringBootTest和@RunWith两个核心注解
D、Spring Boot项目自动生成的测试类在resoucres目录下
2. 以下关于Spring Boot配置文件属性注入说法,正确的是()。A
A、使用@ConfigurationProperties注解可以批量注入各种类型属性值
B、使用@Value注解需要逐个注入各种类型属性值
C、使用@ConfigurationProperties和@Value注解注入属性值需要设置属性Set方法
D、以上说法都错误
3. 以下关于Spring Boot中以配置文件方式整合MyBatis的相关说法正确的是()B
A、以XML映射文件方式整合MyBatis时,可以不用添加@Mapper或@MapperScan注解。
B、无论xml映射文件是否和mapper接口文件同目录,都必须在Spring Boot配置文件中指定xml映射文件位置
C、必须在Spring Boot配置文件中进行类的别名配置
D、以XML映射文件方式整合MyBatis时,需要在Spring Boot配置文件中配置驼峰命名映射
4. 以下关于Spring Boot整合Thymeleaf的相关配置说法正确的是()C
A、spring.thymeleaf.cache表示是否开启Thymeleaf模板缓存,默认为false
B、spring.thymeleaf.prefix指定了Thymeleaf模板页面的存放路径,默认为resources/
C、spring.thymeleaf.suffix指定了Thymeleaf模板页面的名称后缀,默认为.html
D、spring.thymeleaf.encoding表示模板页面变么格式,默认为iso8859-1
5. 在Spring Boot中使用路径扫描的方式整合内嵌式Servlet三大组件时,不包括的注解和属性有()B
A、@WebServlet注解 B、@EnableWebMvc注解 C、@ServletComponentScan注解 D、value属性
6. 以下关于Spring Boot整合Redis中基于注解的缓存管理相关说法正确的是()B
A、需要添加spring-boot-starter-redis依赖
B、使用@Cacheable、@CachePut、@CacheEvict注解在数据查询、更新和删除方法上进行了缓存管理
C、实体类对象进行缓存存储时必须先实现Serializable序列化
D、可以使用注解进行缓存有效期设置
7. 以下关于RabbitMQ支持的工作模式原理相关说法错误的是()A
A、在Work queues工作模式中,无需交换器可以使用唯一的消息队列进行消息传递
B、在Publish/Subscribe工作模式中,必须先配置一个fanout类型的交换器,不需要指定路由键
C、在Routing工作模式中,必须先配置一个direct类型的交换器,并指定不同的路由键值
D、Headers工作模式在使用时,必须设置一个headers类型的交换器,而不需要设置路由键
4.2 判断题
1. Spring Boot设计初衷是为了取代Spring配置,可以轻松构建独立运行的程序,并极大提高开发效率。F
2. 使用Spring Initializr方式搭建的Spring Boot项目,会自动加入spring-boot-devtools热部署依赖启动器。F
3. Spring Boot主程序启动类中的main()方法必须指定要启动的主程序入口类。T
4. 在配置文件application.properties中进行属性设置时,k= value之间需要注意空格。F
5. 注解@Value注入配置文件属性时,要设置属性set方法。F
6. Spring Boot默认无法识别自定义XML配置文件。T
7. 在Spring Boot配置类中定义Bean组件时,可以省略@Bean注解的相关属性。T
8. 使用Profile文件或@Profile注解类都可以进行多环境配置,并且相互之间不会干扰。T
9. 加载Spring Boot自定义配置文件的@PropertySource注解需要放在启动类上。F
10. Spring Boot使用XML映射文件方式整合MyBatis时必须在配置文件中配置类别名。F
11. Spring Boot搭建的项目不太支持JSP的实现。T
12. Spring Boot项目打成jar包或者war包后,可以执行一样的请求进行访问测试。F
13. Spring Boot整合Spring MVC框架实现Web开发时,不需要视图解析器的配置。T
14. 在Publish/Subscribe工作模式中,每个消息队列都可以对相同的消息进行接收存储。T
15. 有返回值的异步方法调用,主流程在执行异步方法时会有短暂阻塞。T
16. 在Spring Boot中希望异步方法生效,需要使用@EnableAsync注解开启基于注解的异步任务支持。T
4.3 填空题
1. Spring Boot提倡使用_____替换传统的XML配置方式来方便查看和管理。Java配置类
2. Spring Boot应用的启动类上标记有_____注解。@SpringBootApplication
3. 依赖于Spring Boot中_____的思想,Spring Boot已经对一些基本的配置进行了默认设置。约定优于配置
4. _____注解表示该类是一个MyBatis接口文件,并保证能够被Spring Boot自动扫描到Spring容器中。@Mapper
5. Spring Boot整合MyBatis开发支持包括_____和_____两种类型的整合方式。注解、配置
6. Spring Boot应用使用的是嵌入式Servlet容器,默认是以_____包形式进行打包部署的。Jar
7. 可以编写一个配置类,添加_____注解关闭Spring Boot提供的所有关于MVC功能的默认配置。@EnableWebMvc
8. Spring Boot中,对实体类对象进行缓存存储时必须先实现_____。序列化
9. @CachePut注解作用于类或方法(通常用在方法上),该注解作用是_____。更新缓存数据
10. 进行Erlang语言包安装必须以_____的身份进行。管理员
11. RabbitMQ是基于_____协议实现的消息中间件。AMQP
12. 在Publish/Subscribe工作模式中,必须先配置一个_____类型的交换器。Fanout
13. 根据异步处理方式的不同,可以将异步任务的调用分为_____和_____。无返回值异步任务调用、有返回值异步任务调用