Field injection directly injects dependencies into fields, making dependencies less visible and harder to manage. This can complicate testing, as it requires reflection to set the fields. Constructor injection, in contrast, makes dependencies explicit. For example, a PaymentService using field injection might make it difficult to mock its dependencies in unit tests.
Additional Notes
Why is field injection often discouraged in Spring?