As per this principle, instead of the class asking for its dependency, the framework provides them at runtime. Following these principles improves your code quality because it reduces coupling between different parts of your applications like between modules and classes, which makes it easier to test and develop. Because of that goodness and several other helpful features, the Spring framework has become a standard way to develop Java applications, both core Java and Java Web applications, particularly using Spring MVC, which implements another popular MVC design pattern to make the development of web applications easier using Java technologies. When it comes to learning a new technology or new framework, my 3 point action is to join a course, read a book, and build a project. I have followed this principle to learn a couple of things in the last few years and it works really well. Starting with a course gives you need head start because it's generally the start which is very difficult.
At that time you don't know how to set up projects, how to run them, what library is needed, how to debug, how to check logs, etc. Once you attend a good course, you will have someone expert on that technology explaining these basics to you. Once you found your feet, it's time to take deep dive and start building projects along with following a book. This way you learn the technology in deep by exploring it yourself rather than someone driving you like in a course. Btw, like Java, Spring is also vast. There are several modules like Spring Core, Spring MVC, Spring Security, Spring Data, and Spring Boot and you need to decide what you want to learn. Since most of the developers want to learn Spring MVC, I suggest you first start with Spring Core and then follow the Spring MVC part. Spring core is the core framework that provides the container required to implement Dependency injection and inversion of control.
It also provides a handy library with a lot of useful functionalities similar to Apache commons but most importantly you always need Spring core because Spring MVC, Spring Security all builds upon that. Now the big question is which book to read and which course to join? Well, when it comes to joining a course you should always look at when it is last updated and how many students have already joined it. That speaks a volume about the content and popularity of the course and on that parameter, I found Spring Framework Master Class to be the best course to start with. It is trusted by more than 53,483 students and it is also quite up-to-date. It also covers Spring's framework in depth including Spring core, Spring JDBC, Spring Boot along with how to set up and develop Spring applications using Eclipse, unit testing, and configuring Spring applications using both Java and XML configuration.
If you are just starting with the Spring framework then this is probably the best course to start with. This book covers most of the Spring related stuff e.g. Spring Core, Spring MVC, and even some parts of Spring Security hence I advise every Java developer who wants to learn Spring to read this book. Btw, if already know Spring and are more interested in learning new reactive programming features introduced in Spring 5 then Spring Framework 5: Beginner to Guru is a better course. Spring MVC is a framework to develop a web application using Java technology by following an MVC design pattern i.e. Model View Controller. This provides a clear separation of functionality or concern, thus making it easier to develop a Java-based web application. Once you went through the book and course I mentioned in the first section, you already have good knowledge of Spring MVC, but if you want to learn in-depth with some assistance on creating a project by yourself then Spring MVC For Beginners: Build Java Web App in 25 Steps is a good place to start.
|