Recently Baeldung announced to increase the price of his REST with Spring’s course from $ 249 to $ 299. As I am (or was) a big fan of Baeldung because of his free content about Java & Spring. I purchased the course because I thought I get high-quality and up-to-date content for this amount of money. In this blog post, you get a detailed explanation of why I am disappointed after working through the whole course.
First of the online course REST with Spring: Master Class is structured into three courses: Starter Class, Intermediate Class, and Master Class. They are built on each other so you should start with the first one to get in contact with his use case during the whole course. The domain model is about roles and rights (in the style of Spring Security’s roles and rights) and is used during most of the videos. In my opinion and for a more educational-oriented intention, this is a rather bad model for explaining the concept of REST to new/intermediate developers. Even if I am tired of the sample domain model about students/lecturers, bank/customers or e-commerce/products you find in other video courses or books, I think they are quite more realistic.
I got my first “heart-attack” within one of the first videos where he generates a new project with Spring Boot Version 1.2.5 at start.spring.io, which was released in the mid of the year 2015. In the beginning, he explains a lot about the application configuration and startup with Spring and its rather “old” XML configuration style. You learn how to use the
web.xml to configure your web application and deploy it within Eclipse. In my 2018-opinion it’s nice to know who you configured Spring applications in the past and to get a short overview of this, but there is a lot solved right now with the latest Spring Boot Versions due to the awesome work at Pivotal. Imagine a greenhorn developer looking at this course and trying to develop a Spring Boot 1.2.5 application …
The whole course is using a multi-module Maven project where the instructor is switching from course to course and it’s hard to follow and know where he currently works in. In addition, he jumps between modules which are developed with plain Spring and some with Spring Boot, which is in my opinion also not optimal. You also don’t get an insight into how the base module with the REST endpoints is developed as he just displays the codebase and doesn’t talk about the origin in detail.
The theoretical part about structuring a REST application and the HTTP conventions you should follow is rather good compared to the rest of the course. You also get some best-practices for you URIs and their structure.
The next big topic is about OAuth2 and authentication/authorization with the help of Spring Security. The sad part is, that the video is using a Spring Security version < Spring Security 5 and so it’s impossible to imitate the code locally with one of the latest Spring Security versions, as some API methods have changed. With the help of Google and some extra amount of work I could get it running, but finding the solution for myself is nothing that I expect for a such “expensive” course.
He also touches testing your REST API and implements contract based testing from scratch while reading a
.json file from the disk. With a more modern approach with for example Spring Cloud Contract you could save a lot of time and get a really nice solution for contract testing.
In addition you get some operations-related content about deploying the
.war to a local Tomcat or a Tomcat running on a virtual machine with Amazon EC2. There is also a section about the right use of CI/CD with Jenkins and the Maven project. The Jenkins pipeline is configured with the old Maven project steps which are sequentially connected and build, test and deploy the application. Here I expected a more modern approach with e.g. a Jenkinsfile and a more cloud-native direction to Docker and Kubernetes …
There are also some “NEW” sections during the course where he touches WebFlux and the development with Kotlin, but these are rather short and seem to function as a gap filler …
So, all in all, I can’t recommend buying this course because I expected a different kind of quality for this amount of money. Most of the videos are recorded in the year 2016 and not updated to the latest Spring versions. For these $ 299 you can get quite more knowledge from books and courses on Udemy. You get most of the Udemy courses for about $ 15 and the instructors also update their content for new releases most of the time.
For beginners/intermediate Spring developer I can recommend the following resources (I purchased all of them and worked through it):
- Pro Spring 5: An In-Depth Guide to the Spring Framework and Its Tools
- Spring 5 Recipes: A Problem-Solution Approach
- Spring Boot 2: Moderne Softwareentwicklung mit Spring 5 (for German readers)
- Learning Spring Boot 2.0: Simplify the development of lightning-fast applications based on microservices and reactive programming
PS: If you still plan to buy this course and want to make your own experiences and maybe make use of the 30-days money back guarantee like it is announced on the courses’ introduction page, read the terms carefully as you can’t get a refund after “watching the majority of the course”. I would just have a short look at each chapter and if it’s not fulfilling, contact Baeldung immediately.