我必须在哪里使用注释@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注释同一个类
当我在 MariaDB/MySQL 中创建附有注释的索引时,该注释存储在哪里?
JSF 2 使用 @ManagedProperty 注入 Spring bean/service 而没有 xml