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

What is SpringBoot?

Spring is one of the most popular Java frameworks out there to build web and enterprise application.

Spring supports variety of configuration approaches (XML, Annotations, JavaConfig etc) and properly configuring Spring applications become a bit tedious and repetitive process. To avoid these problems Spring team introduced SpringBoot to address the complexity of configuring Spring application.

SpringBoot is an opinionated approach to configure Spring based applications. SpringBoot automatically configures the application components based on various criteria like the jars you have on classpath, beans you have already configured, properties configured etc which makes it very easy to get up and running quickly.

I strongly believe that the best way to learn or teach is by using examples. This book is filled with plenty of examples explaining the concepts in step by step manner.

Who this book is for?

If you are looking for a fast paced guide to learn how to build Spring based applications using SpringBoot this book is for you!!.

If you are a Spring developer but haven’t get your hands on SpringBoot and you feel like I know the drill, just tell me how to do it in SpringBoot way..this books is what you are looking for!!!

If you are just starting to use SpringBoot and it is working great but it all looks magical and you want to understand how SpringBoot works behind the scenes..this book will definitely be helpful to you!!

If you are a seasoned Spring developer with good grasp of Spring framework concepts and you just want a fast-paced guide to learn SpringBoot quickly..sure..this book is definitely for you!!

I see lot of people asking “What is the difference between SpringMVC and SpringBoot?”, “Should I use SpringBoot or SpringMVC for my next web application?” etc etc. See Here, Here and Here . The short answer is SpringBoot is nothing but Spring only..but it helps you a lot to build Spring based applications quickly. The next question would be How?. The best way to explain it is by creating an application WITHOUT SpringBoot and show how quickly you can develop the same application WITH SpringBoot.

This book explains how normally we build Spring application without SpringBoot and shows how we can build the same application using SpringBoot in much easier way so that you can correlate the concepts and see how SpringBoot increases developer productivity.

SpringBoot does so many things behind the scenes to automatically configure the application. This book explains how SpringBoot AutoConfiguration works behind the scenes in very detailed manner and show how we can create our own AutoConfiguration as well.

What this book covers?

The SpringBoot : Learn By Example book covers the concepts that we commonly use in our Spring applications.

What is SpringBoot and how to get started with SpringBoot?

How SpringBoot AutoConfiguration Works behind the scenes using @Conditional ?

? SpringBoot goodies like Logging, ConfigurationProperties, DeveloperTools

Working with Databases using JdbcTemplate, MyBatis, JOOQ, Spring Data JPA

Working with MongoDB NoSQL database

NoSQL database Developing Web Applications using SpringMVC SpringBoot Web Starter awesomeness Using Thymeleaf Views File Uploading Validation, I18N

Developing RESTful Services using SpringMVC and Spring Data REST

using and Consuming SpringBoot REST API from AngularJS application

from application Securing Web applications and REST API

applications and Monitoring SpringBoot applications with SpringBoot Actuator

Testing SpringBoot applications

To get complete list of topics covered in this book please see the below Table of Contents.

Table of Contents:

1. Introduction to SpringBoot

Overview of Spring framework

Developing Web Application using SpringMVC and JPA

A Quick Taste of SpringBoot

2. Getting Started with SpringBoot

What is SpringBoot?

Our First SpringBoot Application

3. SpringBoot Behind the scenes

Exploring the Power of @Conditional

How SpringBoot AutoConfiguration Works?

4. Creating Custom SpringBoot Starter

Create twitter4j-spring-boot-starter

5. SpringBoot Essentials

Logging

Externalizing Configuration Properties

Developer Tools

6. Working with JdbcTemplate

Using JdbcTemplate without SpringBoot

Using JdbcTemplate with SpringBoot

Initializing Database

How to use other Connection Pooling libraries?

7. Working with MyBatis

Using SpringBoot MyBatis Starter

8. Working with JOOQ

Using SpringBoot JOOQ Starter

9. Working with JPA

Introducing Spring Data JPA

Using Spring Data JPA with SpringBoot

10. Working with MongoDB

Introducing MongoDB

Getting Started with MongoDB using Mongo Shell

Talking to MongoDB using Spring Data Mongo

11. Web Applications with SpringBoot

Developing Web Application using SpringBoot

Using Tomcat, Jetty, Undertow Embedded Servlet Containers

Customizing SpringMVC configuration

SpringBoot web application as deployable war

SpringBoot Supporting View Templates

Working with Thymeleaf Forms

Data Validation

File Uploading

Using ResourceBundles for Internationalization (I18N)

12. Building REST API using SpringBoot

Introduction to RESTful WebServices

REST API using SpringMVC

REST API using Spring Data REST

Consuming REST API from AngularJS

13. Securing Web Applications using SpringBoot

Spring Security in SpringBoot Web Application

Method Level Security

Securing REST API using SpringSecurity

14. SpringBoot Actuator

Exploring Actuator Endpoints

Customizing Actuator Endpoints

Securing Actuator Endpoints

CORS support for Actuator Endpoints

Monitoring and management over JMX

Monitoring and management using a remote shell

15. Testing SpringBoot Applications

Testing Support in SpringBoot

Testing RESTful Services using RestTemplate

Testing Secured Controller/Service Methods

Testing with Mockito

ThankYou Manuel Jordan

I would like to thank Manuel Jordan (@dr_pompeii) for reviewing the book and providing feedback which helped me a lot to improve the quality of the book content.

If you wish please do me a favour by spreading the word on Twitter, Facebook, LinkedIn etc.

I hope you will enjoy the book 🙂