How does Spring Framework do this magic?