This is a learning style question. Some people learn from books and practicing code. Some learn better through a self paced class. Some learn better through a real time class. We can't tell what works best for you. How do you learn other coding topics best?
I never enjoyed learning through books until I started reading SCJP exam guide by Kathy Sierra and Bert bates.
Eventually I started reading Head first jsp and servlets. You have to choose good selective books from a lot out there.
I heard from my friend and also from online forum comments that Spring in Action is a recommended book to learn spring.