This article explains how to implement handling and validation of common parameter into the Policy Framework Components using Spring boot framework.
Table of Contents |
---|
Environment
A component can use org.springframework.core.env.Environment component directly.
Environment component is not a good approach because there is not type conversion and error checking, but it could be useful when the name of the property you need to access changes dynamically.
Code Block | ||
---|---|---|
| ||
@Component @RequiredArgsConstructor public class Example { private Environment env; .... public void method(String pathPropertyName) { ..... String path = env.getProperty(pathPropertyName); ..... } |
...
A component can use org.springframework.beans.factory.annotation.Value, which reads from properties, performs a type conversion and injects the value into the filed. There is not error checking, but it can assign default value if the property is not defined.
Code Block | ||
---|---|---|
| ||
@Value("${security.enable-csrf:true}") private boolean csrfEnabled = true; |
...
The code below shows how to inject a value of a property into @Schedule @Scheduled configuration.
Code Block | ||
---|---|---|
| ||
@Scheduled( fixedRateString = "${runtime.participantParameters.heartBeatMs}", initialDelayString = "${runtime.participantParameters.heartBeatMs}") public void schedule() { } |
...