我必须在哪里使用注释@Service @Transactional

Posted

技术标签:

【中文标题】我必须在哪里使用注释@Service @Transactional【英文标题】:Where i have to use the annotations @Service @Transactional 【发布时间】:2020-08-23 17:52:54 【问题描述】:

自从我在我的项目中发现了一个问题,在互联网上寻找信息,特别是在 *** 上,我注意到人们在不同的位置使用 @Service 注释,一些在服务接口上,一些在 ServiceImpl 类上。 @Transactional 注释也是如此,有些人在 ServiceImpl 类中实现的方法上使用它,其他人在 Service 接口中的方法上使用它,其他人在 RestController 方法上使用它,还有一些在 Repository 中使用。 简而言之,他们并没有理清我的想法,而是让我感到困惑,所以我需要你的帮助。

【问题讨论】:

您需要在需要的地方使用它们。 【参考方案1】:

@Service 注解帮助 Springboot 注入一些常用服务所需的代码。如果你有一个具有许多实现的接口,它可以去那里,但如果你没有接口和一个实现,那么它可以继续类本身。它还确保该类可注入其他 bean。有关详细信息,请参阅here。

@Transactional 注解要放在需要原子性的方法上。但是该方法不能是私有的,请参阅here

【讨论】:

以上是关于我必须在哪里使用注释@Service @Transactional的主要内容,如果未能解决你的问题,请参考以下文章

Spring - 使用@Service和@Repository注释同一个类

如何在 JSX 中添加可见的 HTML 注释?

当我在 MariaDB/MySQL 中创建附有注释的索引时,该注释存储在哪里?

JSF 2 使用 @ManagedProperty 注入 Spring bean/service 而没有 xml

在 django 项目中将 service worker 和 manifest 放在哪里?

使用“vue-cli-service serve”时在哪里可以找到 outputdir 或 dist-files