title: How do app servers inject into private fields?
body: <p>I saw this question</p>
  
  <p><a href="https://stackoverflow.com/questions/2021716/inject-into-private-package-or-public-field-or-provide-a-setter">Inject into private, package or public field or provide a setter?</a></p>
  
  <p>about how to manually inject into annotated private fields (The way is adding setters
  or through a constructor)</p>
  
  <p>But, the point is how do an application server (like glassfish, axis2, jboss, ...)
  is able to inject into a final private field (without adding setters or constructors
  to the user class)?</p>
  
  <p>Quoting the cited question:</p>
  
  <pre><code>public SomeClass {
    @Inject
    private SomeResource resource;
  }
  </code></pre>
  
  <p>Do they use a customized JVM (not the standard one) that allows to access private fields?</p>
  
  <p>Thanks</p>