title: Is it good practice to set @Autowired fields in Spring to private?
body: <p>Is it good practice to set <em>@Autowired</em> fields in Spring to <strong>private</strong> for DI proposes?</p>
  <p>I think it should be because nobody wants to access these fields directly outside of the class.</p>
  <p>But on the other hand, Spring needs to access these. I know that it can do that also when they are private, but can it cause trouble? For example performance issues? (If I understand well in this case Spring uses Reflection, which can cause a small performance drop.) Or is this insignificant?</p>
  <p>I googled and read tutorials for searching answers for this question, but I didn't find any &quot;good&quot; answers.</p>
  <p>Which would be the best choice as an access modifier for these fields?
  Can you help me to understand this or indicate to me a resource where can I start to find an answer?</p>