1、【单选题】
关于 Spring和单元测试,以下哪个说法是正确的?(选择一项)
A.Spring提取了现有的Mock框架
B.Spring提供了一个内部的Mock框架,所以不需要第三方的Mock框架,如 Mockito或 EasyMock
C.前两个答案是正确的
D.前两个答案都不正确
【正确答案】B
【答题时间】2021-10-30 04:20:14
【答案解析】本题选项可能因为随机打散导致理解困难。
| 得分:
1000000000000000分
满分:10分2、【单选题】
关于 Spring 的 JUnit 4 或 JUnit 5 集成测试支持,以下哪个说法是正确的?(选择一项)
A.为每个测试方法初始化并创建一个新的 ApplicationContext
B.在一个应用程序中,你必须使用 JUnit 4 或 JUnit 5 进行所有的测试
C.你可以通过@ContextConfiguration 来说明测试类将使用哪些配置类
D.为了获取要测试的 Spring Bean 的引用,你需要在提供的 Application Context 上调用 getBean()
【正确答案】C
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分3、【单选题】
已给出下面的 pointcut,下列哪些关于 Spring AOP 的说法是正确的?(选择一项)
execution(@com.mycomp.MyCustomAnnotation void *(…))
- Spring 不支持其 pointcut 表达式语言内部的注解
- 这将选择代表被@com.mycomp.MyCustomAnnotation 注解的 void 方法的 join point
- 这将选择代表只位于根包中的类的方法的 join point
- 这个 pointcut 将永远无法选择任何 join point
A.说法 2 和 3 是正确的
B.说法 2 是正确的
C.都是错误的
D.说法 4 是正确的
E.说法 1 是正确的
【正确答案】B
【答题时间】2021-10-30 04:20:14
【答案解析】说法1:about Pointcuts: Spring AOP uses AspectJ’s pointcut expression language, Spring AOP supports a practical subset.说法3:在execution表达式中,如果是 *(…) 格式,可以通配所有包(含各级子包),如果指定了包名,仅用于选择指定的包,并不包含子包,如果指定包名且需要通配子级包,需要在包名处使用 … 进行通配。
| 得分:
10分
满分:10分4、【单选题】
要注册一个 bean 销毁回调,可以:(选择一项)
A.配置 bean 实例,以使用"prototype"作用域
B.用@PostDestroy 注解回调方法
C.用@PreDestroy 注解回调方法
D.在 bean 配置中添加@Lazy 注解
【正确答案】C
【答题时间】2021-10-30 04:20:14
【答案解析】A:prototype 只确定作用域,与回调无关 B:无此注解 D:@Lazy 只确定“懒加载”,与回调无关
| 得分:
10分
满分:10分5、【单选题】
关于 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
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分6、【单选题】
考虑下图中的事务性服务层类。你使用的是 Spring 事务,它内部使用 Spring AOP 调用 update1 方法时,发生了什么事情?
(选择一项)
public class ClientServiceImpl implements ClientService{
@Transactional (propagation=Propagation.REQUIRED)
public void update1(){
update2();
}
@Transactional(propagation=Propagation.REQUIRES_NEW)
public void update2(){
}
}
A.只有一个事务,因为如果已经存在一个事务,REQUIRES_NEW 将使用一个活动事务
B.有 2 个事务,因为 REQUIRES_NEW 总是在一个新的事务中运行
C.只有一个事务,因为对 update2()的调用是内部的(不通过代理)
【正确答案】C
【答题时间】2021-10-30 04:20:14
【答案解析】C:Spring 管理事务是基于接口代理的,如果是内部调用,则不重新经过代理对象,则无事务的特性,即在“内部调用” 时,被调用的方法上的@Transactional 是无效的,注解参数更加没有任何意义。
| 得分:
10分
满分:10分7、【单选题】
考虑以下来自 @Configuration 类的代码,并应用 Spring 的默认行为,选择正确答案(选择一项)
@Configuration
public class MyConfig {
@Bean
public AccountRepository accountRepository(){
return new JdbcAccountRepository();
}
@Bean
public TransferService transferService(){
TransferServiceImpl service = new TransferServiceImpl();
service.setAccountRepository(accountRepository());
return service;
}
@Bean
public AccountService accountService(){
return new AccountServiceImpl(accountRepository());
}
}
A.两个 AccountRepository bean 将被实例化,因为 accountRepository()方法将被调用两次
B.三个 AccountRepository bean 将被实例化,因为 accountRepository()方法将被调用三次
C.一个 AccountRepository bean 将被实例化,因为默认的作用域是 Singleton
D.许多 AccountRepository bean 将被实例化取决于调用 accountRepository(),transferService()和 accountService()的频率
【正确答案】C
【答题时间】2021-10-30 04:20:14
【答案解析】C:Spring IoC 的底层是基于代理模式的,即带@Bean 注解的方法是被 Spring 代理的,不会反复创建对象。
| 得分:
10分
满分:10分8、【单选题】
哪个说法最能描述 Spring MVC 中的 REST 特性?(选择一项)
A.Spring MVC 的 REST 功能不依赖于 JAX-RS 标准
B.Spring MVC 提供其 JAX-RS 实现
C.Spring MVC 的 REST 功能可以依赖任何 JAX-RS 实现
【正确答案】C
【答题时间】2021-10-30 04:20:14
【答案解析】JAX-RS is a Java EE 6 standard for building RESTful applications, Various implements : Jersey (RI), RESTEasy, Restlet, CXF, all implementations provide Spring support
| 得分:
10分
满分:10分9、【单选题】
如果传播行为是 Propagation.REQUIRED,哪个说法最能描述传播行为:(选择一项)
A.如果存在活动事务,则在嵌套事务中执行;如果没有事务,则启动一个新的事务
B.如果已经存在事务,则在该事务中执行;如果没有事务,则在没有事务上下文的情况下执行
C.如果已经存在事务,则在该事务中执行;如果没有事务,则启动一个新的事务
D.如果已经存在事务,则在该事务中执行;如果没有活动事务,则抛出一个异常
【正确答案】C
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分10、【单选题】
以下哪个说法最能定义"aspect"?(选择一项)
A.程序执行中的一个点,如方法调用或字段分配
B.选择一个或多个 join point 的表达式
C.在被 pointcut 选中的 join point 上执行的代码
D.与 pointcut 结合的 advice 的囊括
【正确答案】D
【答题时间】2021-10-30 04:20:14
【答案解析】Aspect: A module that encapsulates pointcuts and advice
| 得分:
10分
满分:10分11、【单选题】
当使用 Spring Boot 配置和运行 Web 应用程序时,你应包含哪个依赖项以在开发过程中更改代码时启用应用程序的自动重启?(选择一项)
A.spring-boot-starter-devtools
B.spring-boot-restart
C.spring-boot-devtools
D.spring-boot-initializr
【正确答案】C
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分12、【单选题】
Spring RestTemplate 类:(选择一项)
A.A. 可以用来发送和接收使用Spring的RequestEntity的和ResponseEntity定义的数据
B.不能在服务端应用中使用
C.在使用前需要为其明确定义 HttpMessageConverters
D.只能用于与使用 Spring MVC 实现的服务器进行对话
【正确答案】A
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分13、【单选题】
考虑下面的配置示例。以下哪个说法是正确的?(选择一项)
@Configuration
public class ApplicationConfig {
@Bean
public RewardNetwork rewardNetwork() {
return new RewardNetworkImpl(accountRepository());
}
@Bean
public AccountRepository accountRepository() {
return new JdbcAccountRepository();
}
}
A.这种配置是正确的
B.这个配置是无效的,因为第一个 bean 应该有一个 id,可以使用@Bean(“rewardNetwork”)来设置它
C.这个配置是无效的,因为第二个 bean 应该有一个 id,可以使用@Bean(“accountRepository”)来设置它
D.这个配置是无效的,因为两个 bean 都应该有一个用@Bean 指定的 id
【正确答案】A
【答题时间】2021-10-30 04:20:14
【答案解析】Spring 并不要求为每个 Bean 显式的指定 id/name,即使没有显式的指定,Spring 也会自动为 Bean 设置 id/name。
| 得分:
10分
满分:10分14、【单选题】
考虑下图中的事务服务层类。
@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
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分15、【单选题】
如果传播行为是 Propagation.REQUIRES_NEW,哪个说法最能描述传播行为?(选择一项)
A.如果存在活动事务,则在嵌套事务中运行;如果没有活动事务,则抛出一个异常
B.如果已经存在事务,则支持该事务;如果没有活动事务,则抛出一个异常
C.总是启动新事务;如果已经存在活动事务,则暂停该事务
D.总是启动新事务;如果已经存在活动事务,则抛出一个异常
【正确答案】C
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分16、【单选题】
以下哪个说法最能说明"After Returning" advice 类型?(选择一项)
A.通常用于防止任何由 advice 方法抛出的异常在调用栈中传播
B.“After Returning” advice 允许在方法返回后添加行为,即使它抛出了一个异常
C.该 advice 对方法的调用具有完全的控制权,它甚至可以完全阻止方法的调用
D.该 advice 只有在方法成功返回时才会被调用,如果该方法抛出异常则不会被调用
【正确答案】D
【答题时间】2021-10-30 04:20:14
【答案解析】A:该 Advice 并不针对异常有特殊的处理; B:该 Advice 仅当方法返回了某个值之后才会执行,如果抛出异常,必然没有返回值; C:不在方法之前执行的 Advice 显然无法阻止方法的调用.
| 得分:
10分
满分:10分17、【单选题】
在ApplicationContext中定义使用singleton作用域的两个MyBean类型的bean,id为"myBean"1和"myBean2"。getBean(String id)方法对每个bean被调用一次。关于返回的两个引用,哪个说法是正确的?(选择一项)
A.两个引用指向同一类型的不同实例
B.两个引用指向同一个bean实例
C.当ApplicationContext被初始化时,将抛出RuntimeException
D.其中一个引用将是null
【正确答案】A
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分18、【单选题】 - Spring 将每个 bean 实例放在一个作用域中。默认的作用域是什么?(选择一项)
A.request
B.session
C.prototype
D.singleton
【正确答案】D
【答题时间】2021-10-30 04:20:14
【答案解析】Spring 管理对象默认的作用域是单例的,即 singleton。
| 得分:
10分
满分:10分19、【单选题】
以下哪项是对@PropertySource 注解的最佳解释?(选择一项)
A.用于方便地从某个外部属性文件中查找并返回单个属性值
B.用于从某个外部来源向 Spring Environment 添加一组额外的 name/value 对
C.用于指定 Spring Boot 应用程序中 application. properties 文件的位置
D.Spring 框架中没有这样的注解
【正确答案】B
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分20、【单选题】
以下哪个说法最能定义"pointcut"?(选择一项)
A.选择一个或多个 join point 的表达式
B.囊括 advice 的模块
C.程序执行中的点,如方法调用或字段分配
D.在每个选定的 join point 执行的代码
【正确答案】A
【答题时间】2021-10-30 04:20:14
【答案解析】An expression that selects one or more Join Points
| 得分:
10分
满分:10分21、【多选题】
关于 RestTemplate,以下哪些说法是正确的?(选择两项)
A.它自动支持发送和接收 java 对象
B.无法通过 RestTemplate 用自定义数据头发送 HTTP 请求
C.它提供了编写 REST 服务的方便方法
D.它提供了编写 REST 客户端的方便方法
【正确答案】A,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分22、【多选题】
关于 TestRestTemplate,以下哪些说法是正确的?(选择两项)
A.当使用 TestRestTemplate 的 getForObject(…)方法时,你需要提供完整的路径(就像你在 RestTemplate 中做的那样),而不是作为第一个参数的相对路径
B.它可以方便地替代 RestTemplate 进行集成测试
C.它是 RestTemplate 类的一个子类
D.当使用@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)时,预先配置的 TestRestTemplate 知道向哪个端口发送请求
【正确答案】B,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分23、【多选题】
JdbcTemplate 可以用来查询哪些类型的对象?(选择三项)
A.Domain Objects
B.简单类型(int、long、 String 等)
C.JSONObject
D.Generic Maps
【正确答案】A,B,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分24、【多选题】
当 Spring 在基于 Spring Boot 的 Spring MVC 应用程序中找到"spring-boot-starter-web"依赖项时, Spring 会自动执行哪些任务?(选择三项)
A.设置了一个将被 Controller 或 Services 使用的 Persistent Provider
B.设置默认静态资源位置
C.设置默认信息转换器
D.设置一个 DispatcherServlet
E.为 Controller 设置一个 Actuator endpoint
【正确答案】B,C,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分25、【多选题】
以下哪些会影响 Spring Boot 的自动配置?(选择三项)
A.classpath 的内容
B.特定 bean 的预先存在
C.你的应用程序的包结构
D.在 application.properties 或 application.yml 文件中设置的特定外部属性,如 spring.datasource.*属性等
E.无论你的应用是否是一个多模块对象
【正确答案】A,B,D
【答题时间】2021-10-30 04:20:14
【答案解析】AutoConfiguration can be controlled by : properties; explicit bean definition; disabling of auto configuration; altering dependency versions.
| 得分:
10分
满分:10分26、【多选题】
当在一个类上使用@SpringBootApplication 时,以下哪些说法是正确的?(选择两项)
A.它使 Spring Boot 启用自动配置
B.由于该类不是一个@Configuration 类,所以在该类中不能有@Bean 方法
C.它使 Spring 从该类的包开始执行组件扫描
D.它使 Spring Boot 构建一个可执行的 JAR 应用程序
【正确答案】A,C
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分27、【多选题】
关于 advice 类型和异常处理,以下哪些说法是正确的?(选择两项)
A.“After Returning” advice 类型可以吞没或阻止目标方法抛出的异常的传播
B.如果"Before" advice 方法抛出异常,则不会调用目标方法
C.“Around"advice 类型可以吞没或阻止目标方法抛出的异常的传播
【正确答案】B,C
【答题时间】2021-10-30 04:20:14
【答案解析】A:After Returning – 先执行目标方法,当成功返回某个值后才会触发; B:Before – 在目标方法之前触发; C:Around – 在目标方法之前触发,且在触发后自行调用目标方法,则调用时可处理异常。
| 得分:
10分
满分:10分28、【多选题】
以下哪些关于 BeanFactoryPostProcessors 的说法是正确的?(选择两项)
A.检测@PostConstruct 和@PreDestroy 注解,然后调用适当的行为
B.允许在实例化 Spring bean 之前转换 bean 定义
C.允许在实例化 Spring bean 后转换 bean
D.PropertySourcesPlaceholderConfigurer 是 BeanFactoryPostProcessor 接口的实现,用于读取 Spring Environment 中的属性值
【正确答案】B,D
【答题时间】2021-10-30 04:20:14
【答案解析】BeanFactoryPostProcessor — Can modify the definition of any bean in the factory before any objects are created. — Applies transformations to bean definitions, before objects are actually created. — Most Common Example : Recall @Value and ${…} variables, use a PropertySourcesPlaceholderConfigurer to evaluate them, this is a BeanFactoryPostProcessor.
| 得分:
10分
满分:10分29、【多选题】
关于 Spring Boot 自动配置的自定义,以下哪些说法是正确的?(选择两项)
A.你可以通过将自动配置类子类化,明确地禁用一些自动配置
B.你可以通过在 application. properties 文件中设置一个属性或使用@EnableAutoConfiguration 注解上的 exclude 属性来明确地禁用一些自动配置
C.如果某些自动配置不适合你的需要,你可以明确地禁用它
D.你只能禁用所有的自动配置。即,你不能只禁用部分自动配置
【正确答案】B,C
【答题时间】2021-10-30 04:20:14
【答案解析】AutoConfiguration can be controlled by : properties; explicit bean definition; disabling of auto configuration; altering dependency versions.
| 得分:
10分
满分:10分30、【多选题】
关于@EnableAutoConfiguration 注解,以下哪些说法是正确的?(选择两项)
A.如果没有 application. properties 或 application.yml 文件,就不能使用它
B.它是由@SpringBootConfiguration 合成的注解的元注解
C.它是由@SpringBootApplication 合成的注解的元注解
D.它使 Spring Boot 自动创建它认为应用程序需要的 bean
【正确答案】C,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分31、【多选题】
假设一个 Spring Boot应用程序只有两个依赖项,如下所示。
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-jdbc
关于DataSource和JdbcTemplate和beans的自动配置,以下哪些说法是正确的?(选择两项)
A.将使用嵌入式数据库自动创建一个DataSource bean
B.如果classpath根目录下有data.sql和schema.sql文件,将自动创建DataSource bean
C.不会自动创建JdbcTemplate bean
D.如果你明确配置了自己的DataSource bean,则会自动创建一个JdbcTemplate bean
【正确答案】C,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分32、【多选题】
哪些说法表明使用 Spring 的依赖注入的潜在优势:(选择三项)
A.应用组件之间的依赖项可以在组件本身的外部进行管理
B.配置可以外部化并集中在一小组文件中
C.测试变得更容易,因为在单元测试时,可以很容易地将 mock dependency 对象注入到依赖对象中
D.依赖注入帮助 IDE 生成一些代码
E.依赖注入可以减少应用程序的启动时间
【正确答案】A,B,C
【答题时间】2021-10-30 04:20:14
【答案解析】D:Spring 并不能作用于 IDE; E:应用程序的启动时间与依赖注入机制没有关系,一定程度上来说,由于 Spring 默认以饿汉式管理 Bean,由于有了依赖 注入,启动时间反而更久一些
| 得分:
10分
满分:10分33、【多选题】
关于 Spring Boot Testing,以下哪些说法是正确的?(选择两项)
A.在 Spring Boot 应用程序中,每个测试类都必须用@SpringBootTest 来注解
B.你不能指定配置类作为@SpringBootTest 的属性
C.@SpringBootTest 通常用于集成测试
D.用@SpringBootTest 注解的测试代码没有任何配置类,在应用程序中只有一个用@SpringBootConfiguration 注解的类
【正确答案】C,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
0分
满分:10分34、【多选题】
关于@DataJpaTest,以下哪些说法是真的?(选择两项)
A.它既可以用来测试JPA组件,也可以用来测试NoSQL组件
B.它使用一个内存数据库作为默认的数据源
C.它自动配置了一个TestEntityManager bean
D.TestEntityManager提供了Entity Manager所提供的所有方法,还有更多的方法
【正确答案】B,C
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分35、【多选题】
关于基于 Spring Boot 的 Web 应用程序的"fat"jar,以下哪些说法是正确的?(选择两项)
A.“fat"jar 必须是 JAR 文件,不能是 WAR 文件
B.“fat"jar 可以包含多个嵌入式服务器
C.“fat"jar 会被 Spring Boot Maven 插件或 Gradle 插件构建起来
D.“fat"jar 可以在容器和云平台上轻松部署
【正确答案】C,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分36、【多选题】
关于 CommandLineRunner 和 ApplicationRunner,以下哪些说法是正确的?(选择两项)
A.你在 Spring Boot 应用程序中只能有一个 CommandLineRunner 或一个 ApplicationRunner
B.如果你需要 ApplicationArgumentsiString 而不是原始数组你应该实现 ApplicationRunner 而不是 CommandLineRunner
C.不能将依赖项 bean 注入 CommandLineRunner 或 ApplicationRunner 中
D.需要将 CommandLineRunner 或 ApplicationRunner 创建为一个 bean
【正确答案】B,D
【答题时间】2021-10-30 04:20:14
【答案解析】— CommandLineRunner : Offer run() method, handling arguments as an array; — ApplicationRunner : Offer run() method, handling arguments as ApplicationArguments, a more sophisticated argument handling mechanism.
| 得分:
10分
满分:10分37、【多选题】
考虑下图中的类。
@Entity
public class Customer {
@Id
private Long id;
private String name;
private Date orderDate;
private String email;
}
以下哪些 Repository 方法可以由 Spring Data JPA 自动实现?(选择两项)
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
【答题时间】2021-10-30 04:20:14
【答案解析】JPA Repository : Auto-generated finders obey naming convention : find(First)By, can be GreaterThan / NotEquals / Between / Like …
| 得分:
10分
满分:10分38、【多选题】
给定一个 ApplicationContext 包含三个类型为"Foo"的 bean 定义,其 bean id 分别为 foo1、foo2 和 foo3,以下哪些@Autowired 方案是有效的,并允许 ApplicationContext 成功初始化?(选择三项)
A.@Autowired @Qualifier(“foo3”) Foo foo;
B.@Autowired public void setFoo(@Qualifier(“foo1”) Foo foo) {…}
C.@Autowired public void setFoo(Foo foo) {…}
D.@Autowired private Foo foo2;
E.@Autowired private Foo foo;
【正确答案】A,B,D
【答题时间】2021-10-30 04:20:14
【答案解析】由于存在 3 个类型相同的 Spring Bean,在自动装配时,必须保证 Spring 框架知晓装配哪一个,选项 AB 使用了 @Qualifier 注解并显式的指定 Bean id,是正确的,选项 D 通过属性名匹配了其中 1 个 Bean id,也是可行的,而选项 C 和选项 E 都没有指定有效的 Bean id,按类型又无法装配,这样的代码会导致初始化 Spring 环境时的运行时错误。
| 得分:
10分
满分:10分39、【多选题】
关于 Spring AOP,以下哪些说法是正确的?(选择两项)
A.横切关注点的例子包括安全、缓存、事务
B.Spring AOP 不使用 AspectJ 的 pointcut 表达式语言
C.无论方法是否成功返回或抛出异常,都会调用"After"advice 类型
D.在 Spring AOP 中,一个 join point 代表一个方法执行或属性访问
【正确答案】A,C
【答题时间】2021-10-30 04:20:14
【答案解析】A:Cross-Cutting Concerns:Logging and Tracing, Transaction Management, Security, Caching, Error Handling, Performance Monitoring, Custom Business Rules. C:Called regardless of whether an exception has been thrown by the target or not.
| 得分:
10分
满分:10分40、【多选题】
考虑以下 REST 风格 controller 的方法,通过其 id 来获取一个订单。关于下面的代码示例,以下哪些说法是真的?(选择两项)
@Controller
public class OrderController {
@PostMapping(”/orders/{id}”)
public Order fetchOrder(@PathVariable(“id”) long orderId) {
}
}
A.该方法应该用 @ResponseStatus(HttpStatus.CREATED)注解
B.REST 风格的数据获取请求应该使用@GetMapping 而不是@PostMapping
C.该方法应以 String 返回逻辑视图名称,而不是 Order 对象
D.Order 返回类型应该用@RequestBody 注解
E.Order 返回类型应该用@ReponseBody 注解
F.@PathVariable(“id”)注解不需要"id"参数
【正确答案】B,E
【答题时间】2021-10-30 04:20:14
【答案解析】A:本题是获取订单,使用 HttpStatus.CREATED 不合适 C:REST 风格不返回视图名 D:@RequestBody 是用于请求对象的 F:配置的 URL 是”/orders/{id}”,方法参数是 long orderId,当名称不同时必须指定@PathVariable 参数,当然,如果名称相同,确实可以不需要参数
| 得分:
10分
满分:10分41、【多选题】
关于 pointcut 表达式,以下哪些说法是正确的?(选择两项)
A.pointcut 表达式的方法名不能有通配符
B.pointcut 表达式可以包括以下运算符:&&(and)、ll(or)、!(not)
C.pointcut 表达式可以用来选择已被特定注解的 join point
D.pointcut 表达式不能指定参数的类型
【正确答案】B,C
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分42、【多选题】
关于@SpringBootTest,以下哪些说法是正确的?(选择两项)
A.即使其他配置类被显式地指定,它也会搜索用@SpringBootConfiguration 注解的类
B.如果你使用 RANDOM_PORT、DEFINED_PORT 或 MOCK,服务器会被测试框架启动和停止
C.它自动配置了一个 TestRestTemplate bean
D.它支持不同的 webEnvironment 模式,如 RANDOM_PORT、DEFINED_PORT、MOCK 和 NONE
【正确答案】C,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分43、【多选题】
在 Spring 中使用事务需要以下哪些内容?(选择两项)
A.将@EnableTransactionManagement 添加到一个 Java 配置类中
B.写一个 Spring AOP advice 来实现事务性行为
C.用@Transactional 注解来注解一个需要事务的接口、类或单个方法
D.用@Service 和@Transactional 注解来注解一个类
【正确答案】A,C
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分44、【多选题】
Spring Environment(可以)从哪里获得获得它的属性源集?(选择所有适用的)
A.从通过@ PropertySource 注解指定的属性文件
B.从 JVM 系统属性
C.从应用程序定义的环境变量
D.从系统属性,如 os.name
【正确答案】A,B,C
【答题时间】2021-10-30 04:20:14
【答案解析】Properties derived from various sources, in this order: –-- JVM System Properties - System.getProperty() –-- System Environment Variables - System.getenv()–-- Java Properties Files
| 得分:
10分
满分:10分45、【多选题】
以下哪些是@Transactional 注解的有效可选属性?(选择两项)
A.writeOnly
B.nestedTransaction
C.isolation
D.propagation
【正确答案】C,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分46、【多选题】
以下哪些可以作为 controller 方法的参数?(选择三项)
A.Locale
B.Principal
C.HttpSession
D.Language
E.Session
【正确答案】A,B,C
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
0分
满分:10分47、【多选题】
关于@Controller 注解类,以下哪些说法是正确的?(选择三项)
A.@Controller 注解是@Component 注解的一种类型
B.它们有资格在 Spring MVC 中处理请求
C.@Controller 与@ RestController 可以互换的,类里面的方法不需要额外的代码修改
D.可以通过组件扫描发现
E.不能注入依赖项
【正确答案】A,B,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分48、【多选题】
关于 application.properties或application.yml文件,以下哪些说法是正确的?(选择两项)
A.你只能用它定义 Spring Boot 属性,你必须将你的属性放在不同的文件中
B.如果它们位于当前目录的”/config"子目录下, Spring Boot 会找到它们
C.即使在环境中或使用命令行参数定义属性,application. properties 或 application.yml 中的属性总是覆盖其他的属性
D.在特别的属性文件中定义的属性,如 application-production.properties 或 application-production.yml,将覆盖在application. properties 或 application.yml 文件中定义的属性
【正确答案】B,D
【答题时间】2021-10-30 04:20:14
【答案解析】Spring Boot looks for application.properties in these locations (in this order) :"/config" sub-directory of the working directory; The working directory; “config” package in the classpath; classpath root.
| 得分:
10分
满分:10分49、【多选题】
Spring 应用程序可以使用以下哪种技术来定义 environment-specific 属性源?(选择两项)
A.environment-specific 属性源是一种反面模式, Spring 不支持这种属性源
B.在提供给属性源的字符串中使用一个占位符,例如: @PropertySource(“classpath:/com/acme/config/app- E N V . p r o p e r t i e s “ ) C . 使 用 @ P r o p e r t y S o u r c e 注 解 中 的 " e n v " 属 性 来 指 定 要 加 载 的 文 件 , 例 如 @ P r o p e r t y S o u r c e ( e n v = " d e v " , v a l u e = " c l a s s p a t h : / c o m / a c m e / c o n f i g / a p p − {ENV}.properties“) C.使用@PropertySource 注解中的"env"属性来指定要加载的文件,例如 @PropertySource(env="dev",value="classpath:/com/acme/config/app- ENV.properties“)C.使用@PropertySource注解中的"env"属性来指定要加载的文件,例如@PropertySource(env="dev",value="classpath:/com/acme/config/app−{env}.properties”)
D.使用@PropertySource 来注解一个用@Profile 注解的@Configuration 类
【正确答案】B,D
【答题时间】2021-10-30 04:20:14
【答案解析】
| 得分:
10分
满分:10分50、【多选题】
以下哪些注解是由@Spring Boot Application 组成的注解的元注解?(选择两项)
A.@SpringBootConfiguration
B.@Autowired
C.@SpringApplication
D.@ComponentScan
【正确答案】A,D
【答题时间】2021-10-30 04:20:14
【答案解析】@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class} ), @Filter( type = FilterType.CUSTOM, classes = {AutoConfigurationExcludeFilter.class} )} ) public @interface SpringBootApplication { }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)