|
|
1
2
根据我的经验,它最好放在服务层。您也可以将其添加到其他层中,但要保持一致。因为如果您在这个“@Transactional”注释的基础上添加更多注释,那么它的行为在整个应用程序中都应该是相同的。
您可以阅读Spring AOP是如何基于代理工作的。这是你的推荐信- @Transactional method calling another method without @Transactional anotation? |
|
2
1
spring文档是解释这一点的很好的来源。最基本的情况是,当您将spring与事务性之类的注释一起使用时,当spring注入一个对象时,它实际上是在向该对象注入代理。这允许它拦截方法调用并执行管理事务之类的操作。当您自己实例化一个对象或调用同一类中的另一个实例方法时,您没有通过spring代理调用,它将无法管理该调用。 至于事务注释应该放在哪里,这取决于您的代码库和对项目结构的看法。就我个人而言,我将它们放在调用堆栈中逻辑上合理的位置。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |