java - 来自 application.properties 的 Mapstruct 值

标签 java spring properties mapstruct mapper

是否可以从 application.properties 文件的字段中设置值?

我正在寻找类似的东西

    @Mapping(target="version", expression="${application.version}")
    StateDto stateToStateDto(State state);

其中 application.version=v1 来自 application.properties 文件。

最佳答案

考虑一个“实用服务”,例如:

@Service
public class PropertyService {

  @org.springframework.beans.factory.annotation.Value("${application.version}")
  private String appVersion;

  // accessors, more properties/stuff..
}

然后你可以定义你的映射:

@Mapper(// ..., ...
   componentModel = "spring")
public abstract class StateMapper {

  @Autowired
  protected PropertyService myService;

  @org.mapstruct.Mapping(target="version", expression="java(myService.getAppVersion())")
  public abstract StateDto stateToStateDto(State state);
  // ...
}

另见:


My minimal solution @github

关于java - 来自 application.properties 的 Mapstruct 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69942709/

相关文章:

java - 单击按钮时在文本区域中显示类输出

java - 在 android 中搜索自定义 ListView ?

java - 在 Windows 和 Linux 上从 Java 调用 R

java - Spring安全配置,此时不需要子元素。发现无效内容

Java SpringMVC Autowiring BeanCreationException

java - Spring MVC 中如何在页面提交时绑定(bind)对象属性?

sql - 如何从 Informix 的 syscolumns 中检索 "Is Null Allowed"属性?

java - 我的 get 方法不会显示 arraylist 值

iOS:何时分配以及何时创建分配给属性的对象的新副本

spring - 在 Groovy 中使用 @Value Spring 注解