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

Java, Spring Boot, Microservices, Cloud and DevOps Tutorials
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.
Spring provides a nice abstraction on top of the JDBC API using JdbcTemplate and also provides great transaction management capabilities using an annotation-based approach.
In my previous post, Why SpringBoot?, we looked at how to create a Spring Boot application. But you may or may not understand what is going on behind the scenes. You may want to understand the magic behind Spring Boot’s AutoConfiguration.
Spring is a very popular Java-based framework for building web and enterprise applications. Unlike many other frameworks which focus on only one area, the Spring framework provides a wide variety of features addressing modern business needs via its portfolio of projects.
Spring framework provides the flexibility to configure beans in multiple ways, such as XML, Annotations, and JavaConfig. As the number of features increased, the complexity also increased, and configuring Spring applications became tedious and error-prone.