title: How exactly does Spring inject properties when annotating with @Value?
body: <p>I've been wondering: how exactly does Spring inject properties when using the <code>@Value</code> annotation? What's the mechanism behind this that checks if a field has the annotation? Is it using reflection and some class that finds all annotated classes and creates an instance of them injecting the property, or is it doing it some other way? I know annotation processing would only be used during compilation and will not change the code, so what's happening behind the scenes here really...?</p>
  
  <p>Thanks in advance!</p>