This is the best response
Most folks think of it in terms of some kind of "mother of all objects" thing, whereas the mentality to code with re-use in mind should be enabled on a daily basis on the lowest level. Don't dream of creating a reusable component that will save the world. Start with creating microscopic reusable code snippets to get you daily job done. That, at least, will make you a better programmer, and your code will be better, your applications will be more flexible, configurable, and easier to maintain. Once that is in your blood, then, perhaps, one day you will be indeed capable of conceiving solutions like Spring, etc.