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. 下列有关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
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. 下列选项中,用于配置异常通知的注解是()。D
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、声明式事务管理最大的优点在于开发者无需通过编程的方式来管理事务,只需在配置文件中进行相关的事务规则声明,就可以将事务规则应用到业务逻辑中
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中抛出的指定类型的异常,从而实现异常处理
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类型的交换器,而不需要设置路由键
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. 控制反转(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
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
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