This article explains how to implement handling and validation of common parameter into the Policy Framework Components using Spring boot framework.
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; |
Other approach using property configuration.
Code Block |
---|
|
@Scheduled(
fixedRateString = "${runtime.participantParameters.heartBeatMs}",
initialDelayString = "${runtime.participantParameters.heartBeatMs}")
public void schedule() {
} |
...
Code Block |
---|
|
@Component
@RequiredArgsConstructor
public class Example {
private ClRuntimeParameterGroup parameters;
....
public void method() {
.....
long heartBeatMs = parameters.getHeartBeatMs();
.....
} |
Note |
---|
This page is Work in Progress |