Beginners did not read the Java Framework source code before the habit. Have not read the source code, know the whole process? Do you know the concept of dependency injection? Do you know about AOP? Do you know what design patterns are used?
Besides, if the first step is the source code? Haven't you noticed how many spring classes there are? What is the organizational model between the various modules? Therefore, I would like to say that those who look at the source code is totally irresponsible. If the landlord can read the source code will not ask such questions.
Personal recommendation:
Spring 3.x Enterprise Development Combat: very basic, but the knowledge points are involved.
After work, because the company has also used spring, so in order to work, you have to learn, work at the time to look at the code has been written, do not understand the online search, after work to build their own spring project, this situation lasted two months, do not know how many times the environment has been built, Finally reached a look at the console and basically understand where it went wrong.
After, a small function needs me to complete independently, I put SPRINGMVC direct introduction, will not still go online search, after a period of time finally began slowly familiar. This time also to spring slowly familiar with.
So, project-driven is the best teacher
For example, you want to learn spring, first of all do not say, first of all, a user's additions and deletions, after the completion of what data binding, data validation, interceptors, MVC, JdbcTemplate 、、、、 are naturally familiar.
At this point, we begin to go deeper, such as the SPRINGMVC process, the bean instantiation step, the life cycle, and so on.
When you hold the spring Official document directory, can put the above things out of the time, basically even if familiar with spring, so-called familiarity is out of the question basically can be solved by looking at the console or find information.
Further, you will need to learn the design patterns and the like, what Factory mode, template mode, adapter mode and so on.
And so familiar with the design pattern, began to learn gradle and other construction technology (spring is used to build it), after learning the general, you can begin to familiar with the spring source.
However, spring source is very large, and very versatile is basically just to maintain upward compatibility, so it takes a lot of time to be fully acquainted.
That's really the step, basically, any frame that comes up, you can actually take the official documents and start doing the project. "Spring 3.x Enterprise Application Development Practice" This book is really good, although the code has a few errors, but in the case you only run the demo is still to meet the needs of beginners!
Then basically you can rely on the document to solve most of the problems!
I do not object to see the document, but beginners may be the basic concept, spring applicationcontext.xml How to configure are not necessarily familiar with, spring start error is not necessarily see understand!
The next step is "Spring in Action" and the official documentation.
0. Lay the groundwork, understand the basics of reflection, AOP, Balabala
1. Official documentation
2. Official examples
3. All kinds of sample on GitHub
4. Summarize thinking at the same time 1. Watch the video to get started; 2. Read in depth principle, recommend "Pro Spring" 3. Read through the official Reference to understand the specification and implementation; 4. Follow the Spring official release page to learn about the differences between version features. <pro spring> in front of a few chapters very meticulous, recommended, behind MVC so-so
Beginner Spring There is no suitable book