@Service
@Transactional
public CarService {
@Autowired private CarRepository carRepository;
@Cachable("cars")
public List<Car> getCars() {
return carRepository.getAll();
}
}
假设我有这样的代码,其中显示了@Transactional
和@Cachable
。我如何保证代理链弹簧将通过proxyForCache
- proxyForTransaction
?即如果我的应用程序已经缓存了结果,则不会创建事务。我已经看过很多例子,人们提出在类级别上实现Ordered
接口,即在@Aspect
级别。但问题是我们不在项目中使用AspectJ。有没有办法在不创建其他类或至少使用AspectJ的情况下订购spring代理?