I have been working with Spring framework for years. I think it was so tough for me to understand basics at the beginning. Years later, I think Spring became easier to understand except a few topics which are still not easy to understand.
My purpose is to describe the topics for new learners. I might help you to have better understanding of concepts.