我需要通过使用声明性Spring机制使我的服务方法既可缓存又具有事务支持功能。我只想知道Spring是否能够解决方法调用的多个代理而没有任何不可接受的副作用。
@Service
public class ServiceImpl implement Service {
@Autowired
private MyDao dao;
@Override
@Cacheable(value = "cacheName", sync = true)
@Transactional(readOnly = true)
public Result produceResult(String arg1, Integer arg2, Integer arg3) {
Object obj = dao.getSomething(arg1, arg2);
...
Result res = dao.getResult(obj, arg2, ...);
result res;
}
...
}
它工作正常吗?