I don’t really believe in New Year’s resolutions or making big 5-year plans! But I do realize that making a list of things I want to do keeps me focused on those things and minimizes distractions.

Java, Spring Boot, Microservices, Cloud and DevOps Tutorials

I don’t really believe in New Year’s resolutions or making big 5-year plans! But I do realize that making a list of things I want to do keeps me focused on those things and minimizes distractions.
In the Java world, JPA/Hibernate is the most popular and widely used framework. When it comes to the overall performance of a software system, the database persistence layer plays a crucial role. The tricky part with JPA/Hibernate is that it is very easy to get started but very, very hard to master. This is where Vlad Mihalcea’s High-Performance Java Persistence book helps you a lot.
In the previous article, Introduction to Spring Cloud Config Server, we have seen how to use Spring Cloud Config Server.
But the problem is that to reload the config changes in Config Client applications, we need to trigger the /refresh endpoint manually. This is not practical or viable if you have a large number of applications.
Spring Boot provides a lot of flexibility in externalizing configuration properties via properties or YAML files. We can also configure properties for each environment (dev, qa, prod, etc.) separately using profile-specific configuration files such as application.properties, application-dev.properties, application-prod.properties, etc. But once the application is started, we cannot update the properties at runtime. If we change the properties, we need to restart the application to use the updated configuration properties.
We can use IntelliJ IDEA Community Edition for working with Spring Boot applications, as we don’t need support for configuring servers like Tomcat, Wildfly, etc., and can simply run the applications by running the main() method.
However, there is no provision in IntelliJ IDEA Community Edition to create a Spring Boot application directly, the way it is supported in the Ultimate Edition.
I would like to let you know that I have updated/added the following sections to my SpringBoot: Learn By Example book.

I am happy to announce that my new book, SpringBoot: Learn By Example, was published today on Leanpub.

Spring Boot provides a lot of starter modules to get up and running quickly. Spring Boot’s auto-configure mechanism takes care of configuring Spring Beans on our behalf based on various criteria.
In addition to the Spring Boot starters that come out-of-the-box provided by the Core Spring Team, we can also create our own starter modules.
In this post, we will look into how to create a custom Spring Boot starter. To demonstrate, we are going to create a twitter4j-spring-boot-starter which will auto-configure Twitter4J beans.
In my previous article, SpringBoot: Working with MyBatis, we learned how to use the Spring Boot MyBatis Starter to quickly get up and running with Spring and MyBatis. In this article, we are going to learn about how to use the Spring Boot jOOQ Starter.
jOOQ (jOOQ Object Oriented Querying) is a persistence framework that embraces SQL.
MyBatis is an SQL Mapping framework with support for custom SQL, stored procedures, and advanced mappings.
Spring Boot doesn’t provide official support for MyBatis integration, but the MyBatis community built a Spring Boot starter for MyBatis.