It would be nice if an @ExternalValue didn't exist, one could mark the annotation as being optional, and it would set the field to null, instead of throwing an exception if it didn't exist.
For example, in our application, I would like it to be optional to set the following c3p0 database pooling properties
So if we don't see them in the properties file, the field would be null.
Right now, we need to list the property in the file with an empty value, which makes the file a little longer.
This is more of a nice to have feature.
However, this could be a way of distinguishing between non-existent settings and a setting value with an empty string.