This year, we invited all of our VCIs (VMWare Certified Instructors) for an interview to ask them about their experiences with the Spring framework. They told us all about their Spring-related adventures, from the very first time they came into contact with Spring to how they experience working with Spring during their day-to-day jobs.
During the interview, we also asked them to pick a Spring feature they consider to be their absolute favourite. A difficult question, but we received quite interesting answers.
Let’s give you an overview of our trainers’ favourite Spring features!
Spring Boot Actuator
Kristof Van Sever didn’t need to think about this question. “My favourite feature is definitely Spring Boot Actuator. The actuators help you make your application more accessible for DevOps tooling. It provides a number of REST calls you can make to an API which reveal information about your application itself. This information can then be used by the platform on which you will be deploying your application. It includes data like your application’s version number and the build date, but also things like your application’s health, configuration, liveness and readiness indicators for Kubernetes. You can also expose certain metrics you want to track during your application’s runtime which can then be used by the platform, for example to make a dashboard with graphs that give you an idea of how hard the application is currently working, or that tells you if there are certain problems with the application that need to be addressed. I certainly think that’s an advantage, mainly because it leads to some sort of standardization.”
“Hmm, interesting. (laughs) I need a second to think about this one”, was Jeroen Sterken’s reply. “I’m still quite enthusiastic about Spring Boot. It has been a real game changer, and it shows in all of Spring’s components. It’s unbelievable how Spring managed to build this from the ground up, and how it keeps on evolving. The most recent features in Spring Boot support containers, so now you can build a container from Spring right away by using buildpacks. That shows how they try to keep up with the latest developments in the industry. I’m quite impressed with all the features they implemented.”
“What I find cool about Spring is that it doesn’t require you to deploy your application to big, bulky enterprise applications servers”, says Nico Van Belle. “You’re able to deploy your application to smaller servlet containers like Tomcat or Jetty because Spring manages its own beans. That’s not a new feature, but it’s still awesome after all these years. The fact that Spring works on those much smaller in size web servers allowed it to package them into the final build artifact, which made it possible to develop an executable JAR file. If someone who has Java installed executes that JAR file, it will start up the packaged servlet container on which the application then can run automatically. This feature also makes it easier to deploy your application to Kubernetes, because you don’t need to provide this server in your Kubernetes Pods anymore.”
“What I find very important is the testability of the application that you’re developing”, was Patrick Hancke’s reply. “Testing is something that always comes back during all of my projects. And that has always been a point of focus with Spring from the very beginning: everything you write with Spring, is easy to test. The fact that you can develop something that is testable and stays testable in the future, is one of Spring’s biggest strengths, in my opinion.”
“Picking only one favourite feature is almost impossible”
Nico Rampelbergh struggles with picking a favourite feature. “I don’t think I have a favourite one, actually. What I like the most about Spring is the whole concept of making things easier in a consequent way. They have implemented database integrations over the years, and there are many types of databases available. But these implementations are all quite easy to find and use, and you still have plenty of choices to customise what you’re developing. I haven’t even worked with half of what the Spring universe has to offer because it is so big, so it’s almost impossible to pick just one favourite feature… So I would say I’m a fan of Spring’s ‘core’, actually!”