Spring Boot – 使用 @Transactional 注释进行事务管理
@Transactional注释是用于管理 Spring Boot 应用程序中的事务的元数据。要配置Spring Transaction,可以在类级别或方法级别应用此注释。在企业应用程序中,事务是应用程序执行的一系列操作,这些操作一起流水线执行单个操作。例如,预订机票也是一项交易,最终用户必须输入其信息,然后付款才能预订机票。
为什么我们需要事务管理?
让我们通过上面的例子来理解交易,如果用户输入了他的信息,那么用户的信息就会存储在 user_info 表中。现在,为了订票,他进行了在线支付,但由于某种原因(系统故障),付款被取消了,所以他没有订票。但是,问题是他的信息存储在 user_info 表中。从大范围来看,一天内会发生数千件这样的事情。因此,存储交易的单个操作并不是一个好的做法(这里只存储用户信息,而不存储支付信息)。
为了克服这些问题,spring 提供了事务管理,它使用注释来处理这些问题。在这种情况下,spring 将用户信息存储在临时内存中,然后检查付款信息,如果付款成功,则它将完成事务,否则它将回滚事务,并且用户信息将不会存储在数据库中。
@Transactional 注解
在 Spring Boot 中,@Transactional 注释用于管理 Spring Boot 应用程序中的事务,并用于定义事务的范围。此注释可应用于类级别或方法级别。它提供数据可靠性和一致性。当使用 @Transactional 注释指示方法时,它表示应在该事务的上下文中执行特定方法。如果事务成功,则提交对数据库所做的更改,如果任何事务失败,则对该特定事务所做的所有更改都可以回滚,这将确保数据库保持一致状态。
注意:要使用@Transactional注释,您需要使用@EnableTransactionManagement在Spring Boot应用程序的主类中配置事务管理。
在 Spring Boot 中配置事务
在这个例子中,我们将创建一个应用程序来存储用户信息及其地址信息,并将使用 spring 事务管理来解决事务中断问题。
注释@Transactional允许您以声明方式定义事务边界。对于那些希望加深对 Spring Boot 功能的理解的人来说,Java Backend课程涵盖了保护应用程序的基本安全实践。
事务管理的逐步实施
步骤1:创建Spring Boot项目
在此步骤中,我们将创建一个 Spring Boot 项目。为此,我们将使用Spring Initializr。
第 2 步:添加依赖项
我们将为我们的 Spring Boot 应用程序添加所需的依赖项。

步骤3:配置数据库
现在,我们将在应用程序中配置数据库。我们将使用以下配置并将其添加到我们的application.properties文件中。
server.port = 9090 #database configuration spring.datasource.url=jdbc:mysql://localhost:3306/employee_db spring.datasource.username=root spring.datasource.password=root spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect #the ddl-auto=update : It will create the entity schema and map it to db automatically spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true
注意:请添加您的数据库用户名和密码以及数据库路径。
步骤4:创建模型类
在此

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



