I spend 3 full days looking for a bug during my Spring 3 to Spring 4 migration at work, and finally found the issue:

Spring 3 will autowire beans on the ClassName,Spring 4 does this on the

In the controller I was calling

Image description

and in my mapper was this :

Image description

The a.b.c.Languages was an interface, and unfortnuately the implementation, x.y.z.Languages is called the same.Making it very hard to find the issue.

The full stackOverflow post