MyConfigurationProperties.java
package com.tdmconsult.ete.configuration;
import jakarta.validation.Valid;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
@Component
@Getter
@Setter
@ConfigurationProperties(prefix = "tdm.ete")
@Validated
@Slf4j
public class MyConfigurationProperties implements InitializingBean {
@Valid
private Pdf pdf = new Pdf();
@Data
@Accessors(chain = true)
public static class Pdf {
private boolean debug = false;
@Nullable
private String watermark;
@Min(10) @Max(100)
private float fontSize = 50;
@NotNull
private String logoImageFileName = "tdm.png";
@Min(1) @Max(10)
private float logoImageScale = 7.0f;
@Min(0) @Max(1000)
private float logoImageWidthOffset = 60f;
@Min(0) @Max(1000)
private float logoImageHeightOffset = 40f;
}
@Override
public void afterPropertiesSet() {
log.info("===========================================================");
log.info(pdf.toString());
log.info("===========================================================");
}
}