Well, this seems a polemic discussion. The first thing that needs to be addressed is that Field injection is different from Setter injection. I already work with some people that thinks Field is equals toand Setter injection is the same thing.
But, for me, they share some of the same concerns. And, my favorite, the constructor injection:
I have the follow reasons to believe that the constructor injection is better than setter/field injection. I (I will quote some Spring links about this subjectto demonstrate my point):
If your are not really sure about the advantage of constructor, maybe the idea to mix setter (not field) with constructor injection is aan option, as explained by the Spring team: