This video explains why knowledge of the lifecycle of a Spring application is critical to improving the skills and knowledge of a software developer.
- [Instructor] As I alluded to in the very beginning of this course, I find this chapter to be the most important aspect of all Spring knowledge. But I'd like to give you a little bit of background into why I feel it is so important for you to get knowledge of the Lifecycle itself. The first aspect of getting this knowledge is that it increases your overall knowledge of the framework as a whole. If you understand how a tool actually works, when you use that tool you're better informed to make appropriate decisions.
In addition, knowledge of the Lifecycle itself of a Spring application, improves your ability to extend the framework to meet your needs, when you have some non-standard use of Spring, or even some standard use case that no one has actually come up with yet. In addition, knowing the Lifecycle allows you better tool sets to troubleshoot applications, not only during startup, but also at runtime. I also believe that a deeper knowledge of all the tools we use is a responsibility of a professional developer.
I don't believe it is fair for a professional developer to say to another developer, use this tool or framework, if they themselves don't fully understand how the tool itself actually works. When you have this deep knowledge of a tool, you can have more educated discussions about why it is the best tool to solve the use case at hand. Having this knowledge also allows you to have better architectural decisions, because you understand how the tools interact with other components within your architecture.
The final reason that I believe that the Lifecycle knowledge is so critical is because Spring is open source. Because it is open source, interactions with the community come with a certain set of responsibilities. Understanding the Lifecycle of the framework allows those interactions to be more productive and more fruitful for everyone involved. Having this knowledge also allows you to contribute to the framework. You may find a bug in the Spring framework itself, and if you understand the Lifecycle, you can articulate the bug, and hopefully, you'll commit a pull request so that it can be fixed for everyone else in the community to leverage.
- Introduction to Spring
- Configuring the ApplicationContext
- Using the Spring expression language
- Configuring proxies
- Autowiring beans
- Using lifecycle methods
- Configuring beans with XML
- Understanding the initialization phases of the bean lifecycle
- Aspect-oriented programming and Spring