I'm using @Value
to inject parameters from my properties file to variable in my application.
Because I'm not the only user in the application and I want to make the injection safety I need to validate the parameter before the injection.
Example:
properties file:
example.string=str1,str2
app.java
@Value(${example.string})
public String example;
the expected behavior in this case for example is to throw an exception because I assume "," id delimiter in array case
I don't think you can directly with @Value
. But you could do something like this, which will fail on startup if validation fails:
@Validated
@ConfigurationProperties(prefix="my.prefix")
public class AppProperties {
//Validation annotations here
//@NotEmpty
//@MyCustomValidation
private String exampleString;
// getters / setters
}