我有一个用org.mapstruct.Mapper注释的类,并尝试在方法上使用org.springframework.cache.annotation.Cacheable注释。该方法也用org.mapstruct.Named进行了注释。@Cacheable批注将被忽略。是否可以在Mapstruct @Mapper方法上使用@Cacheble?
发布于 2019-07-30 17:21:44
我不认为这是可能的,因为似乎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... }
}https://stackoverflow.com/questions/56320790
复制相似问题