
Spring-15 Spring Certified Professional 试题整理 ①
Spring Certified Professional 介绍
Spring Certified Professional 2022 的认证考试Spring Professional Develop (2V0-72.22) 是 60道题目,按照等级分方法获得 300 分即为及格。考生有 130 分钟完成考试,其中包括足够的时间让非英语母语人士去完成考试。
最低资格考生
考生建议至少有6到12个月的经验。考生既要有很强的概念理解能力,又有使用 Spring 框架的编程经验。需要了解 Spring 和 Spring Boot 的主要特性,包括用配置、数据访问,REST,AOP,自动配置,执行器,安全性和 Spring 测试框架来构建企业和 微服务应用程序。
考试范围
-
Spring Core
-
解释 AOP 背后的概念及其解决的问题 -
使用Spring AOP实现和部署Advices(通知) -
使用 AOP 切入点表达式 -
解释不同类型的 Advice (通知)以及何时使用它们 -
说明Spring Bean生命周期 -
使用 BeanFactoryPostProcessor 和 BeanPostProcessor -
解释运行中 Spring 代理如何在起作用的 -
描述Spring如何确定bean创建顺序 -
按类型注入 bean 时避免问题 -
解释和使用基于注解的配置 -
讨论最佳配置选择 -
使用@PostConstruct 和@PreDestroy -
解释和使用原型注解 -
使用外部属性来控制配置 -
演示配置文件的用途 -
使用 Spring 表达式语言 (SpEL) -
使用Java代码定义Spring Beans -
访问应用上下文中的bean -
处理多个配置文件 -
处理Bean之间的依赖关系 -
解释和定义Bean作用域 -
Spring框架目标介绍 -
Java 配置 -
属性和配置文件 -
基于注解的配置和组件扫描 -
Spring Bean生命周期 -
Aspect Oriented Programming(面向切面编程 ) -
数据管理
-
使用Spring Boot实现一个Spring JPA应用 -
为 JPA 创建 Spring Data Repositories -
描述和使用Spring事务管理 -
配置事务的传播特性 -
设置回滚规则 -
在测试中使用事务 -
使用和配置Spring的JdbcTemplate -
使用回调执行查询以处理结果集 -
处理数据访问异常 -
Spring JDBC简介 -
使用 Spring 进行事务管理 -
用于后备存储的 Spring Boot 和 Spring Data -
Spring MVC
-
创建控制器来支持各种动作的 REST 端点 -
利用 RestTemplate 调用 RESTful 服务 -
解释如何使用 Spring Boot 创建 Spring MVC 应用程序 -
描述 REST 请求的基本请求处理生命周期 -
创建一个简单的 RESTful 控制器来处理 GET 请求 -
配置部署 -
使用 Spring Boot 的 Web 应用程序 -
REST 应用程序 -
测试
-
启用 Spring Boot 测试 -
执行集成测试 -
执行 MockMVC 测试 -
执行切片测试 -
使用 JUnit 5 编写测试 -
使用 Spring 编写集成测试 -
使用 Spring Profiles 配置测试 -
扩展 Spring 测试以使用数据库 -
测试Spring应用程序
-
使用 SpringBoot 和 MockMVC 进行高级测试
-
安全
-
解释基本的安全概念 -
使用Spring Security配置认证和授权 -
定义方法级安全性 -
Spring Boot
-
配置Actuator端点 -
保证 Actuator HTTP端点的安全 -
定义自定义指标 -
定义自定义健康指标 -
描述用于定义和加载属性的选项 -
利用自动配置 -
覆盖默认配置 -
Spring Boot特性讲解和使用 -
描述Spring Boot依赖管理 -
Spring Boot 特 性 介 绍
-
Spring Boot 属性和自动配置
-
Spring Boot 执 行 器
参考资料
| 名称 | 版本 | 文档 |
|---|---|---|
| Spring Framework Documentation | Spring Framework 5.3 | https://docs.spring.io/spring-framework/docs/current/reference/html/ |
| Spring Core Technologies | Spring Framework 5.3 | https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#spring-core |
| Spring Data Access | Spring Framework 5.3 | https://docs.spring.io/spring-framework/docs/current/reference/html/data-access.html#spring-data-tier |
| Spring Framework Testing | Spring Framework 5.3 | https://docs.spring.io/spring-framework/docs/current/reference/html/testing.html#testing |
| Spring Framework Mvc | Spring Framework 5.3 | https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#spring-web |
| Spring Security | Spring Framework 5.3 | https://docs.spring.io/spring-security/reference/ |
| Spring Data Jpa | Spring Data 2021.0 | https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#reference |
| Using Spring Boot | Spring Boot 2.5 | https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using |
| Spring Boot Futures | Spring Boot 2.5 | https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features |
| Spring Boot Actuator | Spring Boot 2.5 | https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator |
| Spring Boot Build Tools Plugins | Spring Boot 2.5 | https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins.html#build-tool-plugins |
试题
-
如果传播行为是 Propagation.REQUIRES_NEW,哪个说法最能描述传播行为?(选择一项) -
A.如果存在活动事务,则在嵌套事务中运行;如果没有活动事务,则抛出一个异常
-
B.如果已经存在事务,则支持该事务;如果没有活动事务,则抛出一个异常
-
C.总是启动新事务;如果已经存在活动事务,则暂停该事务
-
D.总是启动新事务;如果已经存在活动事务,则抛出一个异常
【正确答案】C
-
关于 Spring 对 JPA 的支持,以下哪个说法是正确的?(选择一项)
(1) Spring 支持结合本地或全局事务管理 JPA PersistenceContexts
(2) JPA 提供者是通过设置 EntityManagerFactoryBean 上的 vendor adapter 属性来指定的
(3) 在管理本地事务时,JpaTransactionManager 使用 JPA EntityManagers 来完成这项工作 -
A.第(1)、(2)种说法是正确的
-
B.所有的说法都是正确的
-
C.这些说法都不正确
-
D.第(2)、(3)种说法是正确的
-
E.第(1)、(3)种说法是正确的
【正确答案】B
-
以下哪项是对@PropertySource 注解的最佳解释?(选择一项) -
A.用于方便地从某个外部属性文件中查找并返回单个属性值
-
B.用于从某个外部来源向 Spring Environment 添加一组额外的 name/value 对
-
C.用于指定 Spring Boot 应用程序中 application. properties 文件的位置
-
D.Spring 框架中没有这样的注解
【正确答案】B
-
以下关于在 JUnit 集成测试中使用@Transactional 注解的说法中,哪项不是正确的的?(选择一项) -
A.只有当 test 类或 test 方法被注解为@Commit(false)时,事务才会在测试后回滚出来
-
B.默认情况下,每次测试后,事务将自动回滚
-
C.用@Transactional 来注解 test 类,会使其所有的 test 方法在事务中运行
-
D.用@Transactional 来注解 test 方法,会使 test 方法在事务中运行
【正确答案】A
-
考虑下图中的事务服务层类。 @Transactional(timeout=60) public class ClientServiceImpl implements ClientService { @Transactional(timeout=30) public void update1(){} } } 对事务的 update1 方法应用什么超时设置?(选择一项) -
A.这将无法编译。不能在类级声明 timeout,propagation 以及 isolation 等属性
-
B.30
-
C.60
-
D.90
-
E.这将无法编译。不能在方法级声明 timeout,propagation 以及 isolation 等属性
【正确答案】B
-
关于 Spring和单元测试,以下哪个说法是正确的?(选择一项) -
A.Spring提取了现有的Mock框架
-
B.Spring提供了一个内部的Mock框架,所以不需要第三方的Mock框架,如 Mockito或 EasyMock
-
C.前两个答案是正确的
-
D.前两个答案都不正确
【正确答案】B
-
以下哪个说法最能说明使用 Spring Framework 在单元测试方面的好处?(选择一项) -
A.你的 Java 代码通常在 Spring Framework 类上有依赖项,这些类的设计是为了使单元测试的工作更容易
-
B.Spring Framework 鼓励你按接口编程,这样可以更容易地在代码中存根或模拟出依赖项
-
C.Spring Framework 框架鼓励你尽可能地在一个测试中结合单元测试和集成测试
-
D.Application Context 在初始化时进行了大量的运行时检查,使得传统的单元测试变得不那么重要
【正确答案】B
-
默认情况下, Spring Boot 将自动在以下哪个地方查找属性文件?(选择一项) -
A.与 Application 的主@Configuration 类名称相匹配的一个 properties 文件
-
B.application. properties 或 application.yml,通常位于根 classpath 中
-
C.config.properties 或 config.yml,通常位于根 classpath 中
-
D.Spring Boot 不会自动查找任何属性文件,除非特别指示(例如使用@PropertySource)
【正确答案】B
-
如果传播行为是 Propagation.REQUIRED,哪个说法最能描述传播行为:(选择一项) -
A.如果存在活动事务,则在嵌套事务中执行;如果没有事务,则启动一个新的事务
-
B.如果已经存在事务,则在该事务中执行;如果没有事务,则在没有事务上下文的情况下执行
-
C.如果已经存在事务,则在该事务中执行;如果没有事务,则启动一个新的事务
-
D.如果已经存在事务,则在该事务中执行;如果没有活动事务,则抛出一个异常
【正确答案】C
-
**考虑下图中的事务性服务层类。你使用的是 Spring 事务,它内部使用 Spring AOP 调用 update1 方法时,发生了什么事情? (选择一项) **
@Entity
public class Customer {
@Id
private Long id;
private String name;
private Date orderDate;
private String email;
}
A.public Customer getSingle(Long id);
B.public Customer findFirstByOrderDateBetween(Date d1, Date d2);
C.public Customer findFirstOrderDateMax();
D.public Customer findByEmail(String email);
【正确答案】B,D
JPA Repository : Auto-generated finders obey naming convention : find(First)By, can be GreaterThan / NotEquals / Between / Like
-
关于 Spring Boot 自动配置,以下哪些说法是正确的?(选择两项) -
A.当缺少 bean 时,可能会发生自动配置。但当存在 bean 时,不会发生自动配置
-
B.自动配置是通过处理 Spring Boot 提供的自动配置类列表来执行的,每个自动配置类都使用不同的条件集
-
C.只有在应用级配置完成后,才会出现自动配置的情况
-
D.自动配置发生在应用级配置之前和之后
【正确答案】B,C
Auto-configuration classes processed after explicitly created beans are defined.
-
关于 Spring Data,以下哪些说法是正确的?(选择两项) -
A.Spring Data 将 JPA 编程模型和 JPA 注解应用于 MongoDB、Neo4j 和 Redis 等非关系型数据存储中
-
B.Spring Data 是专门为 JPA 和关系型数据库访问而设计的
-
C.许多数据存储类型都有 Spring Data 实现,如 MongoDB、Neo4j 和 Redis
-
D.Spring Data 可以极大地减少数据访问所需的"boilerplate"(样板)代码量
【正确答案】C,D
关于 Spring Certified Professional 考试题目本篇只整理了一部分,后续会继续整理更多的题目。
DevX 会持续有趣的技术和见闻,如果你觉得本文对你有帮助希望你可以分享给更多的朋友看到。该文章会同步在微信公众号 【DevXJava】, 方便在微信客户端阅读。之后可能会制作一些视频讲解 spring 的源码,不过这都取决于忙不忙有没有更多空闲的时间,简单来说就是随缘的心态 : ) Hahaha . 昨天我路过 KFC 想去买个圣代吃,走进去我犹豫了几秒又忍住了,自言自语说哎别他妈吃了,好像人越胖就越喜欢吃甜的东西,话说有谁不爱吃甜甜的东西呢。
DevX 不止于技术
本篇文章来源于微信公众号: DevXJava
微信扫描下方的二维码阅读本文

Comments NOTHING