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 full.package.name.ClassName.
In the controller I was calling
and in my mapper was this :
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.