我有一个用org.mapstruct.Mapper
注释的类,并尝试在方法上使用org.springframework.cache.annotation.Cacheable
注释。该方法也用org.mapstruct.Named
注释。
@Cacheable
注释被忽略。
可以在Mapstruct @Cacheble
方法上使用@Mapper
吗?
答案 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... }
}