课程介绍:“框架技术”是软件工程专业的核心课程,是本专业限选课,是Java 应用开发课程,是本专业学生就业的主要方向。
说明:框架设计其他章节的习题答案也在此“spring框架设计”专栏。
一、 填空题
- 使用基于注解方式的事务管理需要在使用事务的Spring Bean类或者Bean类的方法上添加注解【 @Transactional】。
- Spring的声明式事务管理可以通过两种方式来实现,一种是基于XML的方式,另一种是基于【 Annotation】的方式。
- Spring2.0以后,提供了tx命名空间来配置事务,tx命名空间下提供了【 tx:advice】元素来配置事务的通知(增强处理)。
- 在Spring的所有JAR包中,包含一个名为【 spring-tx.RELEASE.jar】的JAR包,该包就是Spring提供的用于事务管理的依赖包。
- 声明式事务管理:是通过【AOP技术 】实现的事务管理。
二、 判断题
- 基于XML方式的声明式事务管理是通过在配置文件中配置事务规则的相关声明来实现的。( √)
- 编程式事务管理是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚。( √)
- Spring的事务管理简化了传统的事务管理流程,并且在一定程度上减少了开发者的工作量。( √)
- Spring的声明式事务管理可以通过两种方式来实现,一种是基于XML的方式,另一种是基于Annotation的方式。( √)
- @Responsebody注解与@RequestMapping注解配合使用时,页面中将可以获取到方法的返回值。( √)
三、 选择题
- 以下关于@Transactional注解可配置的参数信息及秒正确的是。( A)
A: value用于指定需要使用的事务管理器,默认为"";
B: read-only用于指定事务是否只读,默认为true;
C: isolation用于指定事务的隔离级别,默认为Isolation.READ_COMMITTED;
D: propagation用于指定事务的传播行为,默认为Propagation. SUPPORTS; - 以下基于XML方式的声明式事务管理配置文件中tx:advice元素的子元素tx:method属性描述错误的是。(B )
A: name:该属性为必选属性,它指定了与事务属性相关的方法名
B: propagation:用于指定事务的传播行为,它的默认值为SUPPORTS
C: isolation:该属性用于指定事务的隔离级别,其默认值为DEFAULT
D: read-only:该属性用于指定事务是否只读,其默认值为false - 以下有关事务管理方式相关说法错误的是。( B)
A: Spring中的事务管理分为两种方式:一种是传统的编程式事务管理,另一种是声明式事务管理。
B: 编程式事务管理:是通过AOP技术实现的事务管理,就是通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚。
C: 声明式事务管理:其主要思想是将事务管理作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”代码植入到业务目标类中。
D: 声明式事务管理最大的优点在于开发者无需通过编程的方式来管理事务,只需在配置文件中进行相关的事务规则声明,就可以将事务规则应用到业务逻辑中。 - 以下有关Spring事务管理及核心接口说法错误的是。( D)
A: PlatformTransactionManager接口是Spring提供的平台事务管理器,主要用于管理事务。
B: TransactionDefinition接口是事务定义(描述)的对象,该对象中定义了事务规则,并提供了获取事务相关信息的方法。
C: TransactionStatus接口是事务的状态,它描述了某一时间点上事务的状态信息。
D: 在事务管理过程中,传播行为可以控制是否需要创建事务以及如何创建事务,通常情况下,对于数据的查询、插入、更新和删除操作,必须进行事务管理。 - 下列选项中,哪一个不是Spring中事务管理的核心接口。( D)
A: PlatformTransactionManager
B: TransactionDefinition
C: TransactionStatus
D: TransactionManager
四、 简答题
1. 请列举PlatformTransactionManager接口提供了有哪些事务操作方法,并对这些方法分别进行简单说明。
PlatformTransactionManager接口中提供了三个事务操作方法,具体如下所示:
(1)TransactionStatus getTransaction(TransactionDefinition definition ):用于获取事务状态信息。
(2)void commit(TransactionStatus status):用于提交事务。
(3)void rollback(TransactionStatus status):用于回滚事务。
整理不易,如有帮助请点赞支持!