Java Spring事务上下文包装?

Java Spring事务上下文包装?,java,spring,hibernate,Java,Spring,Hibernate,我正在使用spring/hibernate。我有服务层和DAO层。事务放在服务层中。 我有第一节ServiceImpl课。在FirstServiceImpl类的一个方法中,它有500行代码。我所做的是将所有500行代码放在一个单独的类中(编写一个接口和实现类。在FirstServiceImpl类中,我自动连接新创建的接口以访问其单个方法)。 我将@Transactional放在FirstServiceImpl类上 我的问题是“新创建的类逻辑是否也在事务上下文中运行” 谢谢 我不确定,但我想它会有

我正在使用spring/hibernate。我有服务层和DAO层。事务放在服务层中。 我有第一节ServiceImpl课。在FirstServiceImpl类的一个方法中,它有500行代码。我所做的是将所有500行代码放在一个单独的类中(编写一个接口和实现类。在FirstServiceImpl类中,我自动连接新创建的接口以访问其单个方法)。 我将@Transactional放在FirstServiceImpl类上

我的问题是“新创建的类逻辑是否也在事务上下文中运行”


谢谢

我不确定,但我想它会有用的。但我可以告诉你们确定的方法来测试它是否有效

在单个事务中通过代码执行以下数据库操作

在数据库中插入/更新一行,尝试在同一事务中插入/更新第二行

插入第二行时故意引发异常。若您可以在数据库中看到“第一个条目”,那个就意味着您的事务不会回滚。而且它不起作用

而若数据库中并没有第一行条目,那个就意味着事务被回滚。在这里,您可能会得到意外回滚异常


在测试之前,请确保您的注释是事务性的(propagation=propagation.REQUIRED)

我不确定,但我认为它会使用。但我可以告诉你们确定的方法来测试它是否有效

在单个事务中通过代码执行以下数据库操作

在数据库中插入/更新一行,尝试在同一事务中插入/更新第二行

插入第二行时故意引发异常。若您可以在数据库中看到“第一个条目”,那个就意味着您的事务不会回滚。而且它不起作用

而若数据库中并没有第一行条目,那个就意味着事务被回滚。在这里,您可能会得到意外回滚异常

测试之前,请确保您的注释是事务性的(传播=传播。必需)