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
- 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
- Consuming SpringBoot REST API from AngularJS application
- Securing Web applications and REST API
- 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
- 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
Thank You 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 🙂