Articles on Spring Boot

Maven Plugins To Build Frontend for Spring Boot Project

Update 12/2017: With all due respect to my Allegro buddies, there are more popular plugins for this.

To have front-end build during Maven build cycle has many advantages. Some time ago I wrote about integrating front-end build process into Maven lifecycle, by mostly writing an Ant script installing and running Grunt, and hooking it into Maven.

Static Resources in Spring 4.1

Update 12/2017: Maybe just use Spring Boot, it has all those things adjustable via application.properties.

There are some new features in Spring 4.1 that allow better handling of static resources in web applications. I'm going to take a look at them, and show an application based on Spring Boot that makes use of them.

Few Recommendations on Logging

Maybe it's basic, but still, sometimes some suboptimal usage of logger can be seen. There also is/was a notion that Java applications tend to overuse logging. That may or not be true, but using the logger properly should have minimal performance implications on the application. This one is to give you few recommendations for logging things in Java, based on my experience. Feel free to disagree in comments.

Spring Boot Security Application

Update 12/2017: It will need an update/rewrite since Spring Security 5 is coming.

Spring Security had some opinions of being complicated to use. Well, of course it's quite complicated when you look at it, as its scope covers a lot of use-cases. Thing is that, truly in a Spring spirit, you don't have to use every feature there is at once for the use-case you are having. In fact, when you start cherry-picking and back it with Spring Boot, it doesn't appear so complicated anymore.

Database Connection Pooling With BoneCP in Spring Boot Application

Update 12/2017: Time passed and support for db connection pooling was build into Spring Boot. HikariCP is used by default. BoneCP is RIP.

In the following article I'll try show you how to set up a database connection pool with BoneCP and integrate it to the Spring Boot application. The database will be MySQL, and the source code for this article is based upon the source code of Spring Boot MVC application from one of the previous posts. It's recommended to get familiar with this for the people new to Spring Boot.

Developing a RESTful Web Service Using Spring Boot

Update 12/2017: Sweet, but could use an updated version. The principles seem to stand though.

I'm really impressed with Spring Boot. Its main goal is to take away most of this boilerplate configuration that was needed before and to replace it with some sensible defaults. One might say it's taking the control away from the developer and giving it to the army of fairies. That's probably right, but in this case the fairies are here to help, and moreover they can easily be cast away from doing particular thing. It's just a matter of doing it yourself as before, and thanks to @ConditionalOn... behaviour Spring Boot's auto configuration will not fire up.

In the following article I will explore the way of employing Spring Boot to create a very basic, restful web service. As usual the source code can be found here on GitHub to play around.

Spring Boot MVC application

Update 12/2017: Also could use an update.

In the last article I showed how the RESTful web service could be implemented using Spring Boot. In the following I'll make a more classical MVC application out of it, meaning real and pure, CSS-less, HTML form eye-candy.

Since there is not much difference between this and previous RESTful app, I'll focus only on what needs to be changed. And as usual, there is a source code for you to play around on GitHub, and if you want to follow the changes step-by-step, here's the source code for the RESTful web service from the previous article.

Spring reCAPTCHA v2.0 Form Validation

When Google rolled out v2.0 of their reCAPTCHA service I got a nice email from them reminding me to upgrade. Since I like shiny new things and have a liberty of freely implementing them they needn't ask me twice to do so. As for what's new and shiny in it - they market is as noCAPTCHA reCAPTCHA, meaning no more typing hard to read text from an image we all got used to. You get a nice checkbox-like thing instead, and they are able to tell from the way it's ticked whether it was of human doing for most of the time. When they are not able to tell, you might get tormented to click food pictures instead, which to me happens especially often whenever I decided to skip my lunch. Still better than trying to decipher a cryptic piece of text I think.

Adding RSS to Spring Boot Application With ROME

I have recently added an RSS feed to the site and thought I'm going to explain how it can be done. This is not a rocket science though it'll be good to discuss how to fit it into modern Spring Boot app using Java Configuration. In the process maybe one can also learn about creating custom views and some inner workings of Spring MVC.

Application Metrics With Spring Boot Actuator

Update 12/2017: It will need an update/rewrite since Spring Boot 2.0 is coming.

Having metrics collected is vital for ...just anything, besides relationships maybe :) My favourite quote by Deming goes like this: "You can't manage what you can't measure". Without it either your experience, prediction and planning skills are so awesome that everything works as expected, or you're just deluding yourself. It's hard data that gives you feedback to confront your actions with reality. It's not only important on company-wide level, or in project management, processes, or when counting conversions in Google Analytics. There are metrics you can collect down on the application level, so can have insight on how it is performing, being used and that it works at all. A nice tool exists for Spring Boot apps to do that, and this is Spring Actuator I'm going to write about today.