Spring-loaded enables hot deployments for your applications which allows you to increase productivity by reducing developer cycle time.
Detailed Video Notes
Hey everyone, this is Justin at level up lunch. If you are getting started with spring boot or working with a traditional spring application you are probably looking for ways to reduce your cycle time. Spring has created a submodule called spring-loaded which allows you to hot deploy your application within your application server. Unlike traditional hot code replacements which allow simple changes on the JVM, spring-loaded provides you with the ability to add, modify or delete methods.
Project set up
[0:32]
By using a spring starter project, we created a spring-boot application. We are using spring sts for demonstration purposes but you should use an IDE of your choice. Next, we went ahead and created a sample controller with a method that returns a string to the default RequestMapping.
Download spring loaded
[1:8]
The next thing you will want to do is download spring loaded. Once you have it in a directory we will navigate to the run configuration in eclipse and in the VM arguments we will paste a string pointing to the jar. While pasting the location, don't forget the version of downloaded jar.
Now it is configured with spring loaded and it will give us the ability to perform hot deployments with our java application.
Demonstrating hot deployment
[1:49]
Once configured lets add another @RequestMapping to demonstrate the hot deployment in action. We create a snippet which contains a HotDeployment class and an associated @Requestmapping. When a file is saved, in our console we will see that it reloaded or refreshed. Once we navigate to localhost:8080/hotdeploy
the changes were picked up and we don't need to stop and restart the application server.
The output when navigating to localhost:8080/hotdeploy
:
Output
Adding a @RequestParam
[2:38]
We will add a @RequestParam to the /hotdeploy @RequestMapping named isHotDeployable. Based on that parameter we will set the value in the HotDeployable object. Once again, you will see in the console that application server refreshed.
The output when navigating to localhost:8080/hotdeploy?isHotDeployable=true
:
Output
For the most part spring-loaded works pretty well but it does have limitations so be sure to check out the documentation.
Thanks for joining in today's screencast at level up lunch. Have a great day!