Mapstruct和@Cacheable

时间:2019-05-27 06:34:13

标签: mapstruct

我有一个用org.mapstruct.Mapper注释的类,并尝试在方法上使用org.springframework.cache.annotation.Cacheable注释。该方法也用org.mapstruct.Named注释。 @Cacheable注释被忽略。 可以在Mapstruct @Cacheble方法上使用@Mapper吗?

1 个答案:

答案 0 :(得分:0)

我不认为这是可能的,因为mapstruct处理器似乎正在过滤掉该注释。但是您可以注入一个bean并缓存该bean的方法,如:

@Mapper(componentModel="spring")
public abstract class Mapper {

@Autowired
protected Bean bean;

@Named("someNamedMethod")
public Object doSomething() {
  return bean.doSomeMagic()
}

@Component
public class Bean {

@Cacheable(your params)
public Object doSomething() {
  your code... }
}