title: Why is @Required set for setters and not fields?
body: <p>If I have the following class:</p>
  
  <pre><code>package com.example;
  
  import org.springframework.beans.factory.annotation.Required;
  
  public class Customer 
  {
      private Person person;
  
      public Person getPerson() {
          return person;
      }
      @Required
      public void setPerson(Person person) {
          this.person = person;
      }
  }
  </code></pre>
  
  <p>Why in Spring is the @Required tag tied to the setter, and not the field, like this?</p>
  
  <pre><code>package com.example;
  
  import org.springframework.beans.factory.annotation.Required;
  
  public class Customer 
  {
      @Required
      private Person person;
  
      public Person getPerson() {
          return person;
      }
      public void setPerson(Person person) {
          this.person = person;
      }
  }
  </code></pre>
  
  <p>The dependency is that the property is set, but doesn't need to be tied down to one specific setter that populates that property or field, unless I'm missing something.</p>