据我所知,Spring Boot默认情况下会生成cglib代理。而且,如果我的方法有两个创建代理的注释,则其中只有一个可用。这是我的考试班
@Service
public class Test{
private final TxnAddressRepository repository;
private final CoinRepository coinRepository;
@Transactional
@Scheduled(fixedDelay = 1000)
public void test() {
final TransactionStatus transactionStatus = TransactionAspectSupport.currentTransactionStatus();
System.out.println("HERE");
this.repository.save(new TxnAddress(coinRepository.getOne(4L), hey.append("hey").toString()));
}
}
但是两个注释都适用于此方法,它每秒安排一次,并且(((DefaultTransactionStatus)transactionStatus).newTransaction 向我展示了真实情况。 (视图中的打开会话被禁用)
为什么起作用? (春季启动版本2.1.2.RELEASE)