Try looking at the investment in spring as learning good programming practice. The frameworks might come and go. So one should concentrate on the design patterns used behind the framework. Look at spring source code; it's well written. Code coverage is high. Test cases can teach one a thing or two about how to write good test cases.