SPRING 第三次

1、【单选题】
以下关于在 JUnit 集成测试中使用@Transactional 注解的说法中,哪项不是正确的的?(选择一项)
A.只有当 test 类或 test 方法被注解为@Commit(false)时,事务才会在测试后回滚出来 
B.默认情况下,每次测试后,事务将自动回滚 
C.用@Transactional 来注解 test 类,会使其所有的 test 方法在事务中运行 
D.用@Transactional 来注解 test 方法,会使 test 方法在事务中运行 
【正确答案】A
【答题时间】2022-02-13 04:33:46
【答案解析】在单元测试方法上使用@Transactional 注解,会使得测试完成后自动回滚(即使无任何异常抛出),除非显式的在方法 上添加@Commit 注解。 另,@Commit 注解不可配置参数,即选项 A 中的代码片段是误

2、【单选题】
考虑下面的代码示例。以下哪个说法是正确的?(选择一项)
public interface CustomerRepository extends CrudRepository {}
A.为了成功使用任何 Spring Data 实现(JPA、 MongoDB、 Gemfire 等), Customer 类上需要 JPA 注解 
B.该类的实现可以由 Spring Data JPA 自动生成 
C.实现 CustomerRepository 的类必须由开发者编码并声明为 Spring Bean 
D.CustomerRepository 应该是一个类,而不是一个接口 
【正确答案】B
【答题时间】2022-02-13 04:33:46
【答案解析】

4、【单选题】
考虑下图中的事务性服务层类。你使用的是 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
【答题时间】2022-02-13 04:33:46
【答案解析】C:Spring 管理事务是基于接口代理的,如果是内部调用,则不重新经过代理对象,则无事务的特性,即在“内部调用” 时,被调用的方法上的@Transactional 是无效的,注解参数更加没有任何意义。

8、【单选题】
考虑下图中的事务服务层类。
@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
【答题时间】2022-02-13 04:33:46
【答案解析】

 

10、【单选题】
考虑下面的方法签名。
@PutMapping("/accounts/{id}")
public void update(...) {...}
以下哪种方法是检索账户 id 的有效方法?(选择一项)
A.public void update(@PathVariable long accountId) 
B.public void update(@RequestParam("id") String accountId) 
C.public void update(@RequestParam long accountId) 
D.public void update(@PathVariable("id") String accountId) 
【正确答案】D
【答题时间】2022-02-13 04:33:46
【答案解析】题干中的“检索”并不是数据库的检索,只是获取@PutMapping 参数里 id 的值。 如果要获取 URL 中占位符对应的参数值࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值