Spring Boot Cookbook
eBook - ePub

Spring Boot Cookbook

Alex Antonov

Share book
  1. 206 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Spring Boot Cookbook

Alex Antonov

Book details
Book preview
Table of contents
Citations

About This Book

Over 35 recipes to help you build, test, and run Spring applications using Spring Boot

About This Book

  • Learn to create different types of Spring Boot applications, configure behavior, and add custom components
  • Become more efficient in testing, deploying, and monitoring Spring Boot based applications
  • This is a practical guide that will help Spring developers to develop and deploy applications using Spring Boot

Who This Book Is For

If you are a Spring Developer who has good knowledge level and understanding of Spring Boot and application development and now want to learn efficient Spring Boot development techniques in order to make the existing development process more efficient, then this book is for you.

What You Will Learn

  • Create Spring Boot applications from scratch
  • Configure and tune web applications and containers
  • Create custom Spring Boot auto-configurations and starters
  • Use Spring Boot Test framework with JUnit, Cucumber, and Spock
  • Configure and tune web applications and containers
  • Deploy Spring Boot as self-starting executables and Docker containers
  • Monitor data using DropWizard, Graphite, and Dashing

In Detail

Spring Boot is Spring's convention-over-configuration solution. This feature makes it easy to create Spring applications and services with absolute minimum fuss. Spring Boot has the great ability to be customized and enhanced, and is specifically designed to simplify development of a new Spring application.

This book will provide many detailed insights about the inner workings of Spring Boot, as well as tips and recipes to integrate the third-party frameworks and components needed to build complex enterprise-scale applications.

The book starts with an overview of the important and useful Spring Boot starters that are included in the framework, and teaches you to create and add custom Servlet Filters, Interceptors, Converters, Formatters, and PropertyEditors to a Spring Boot web application. Next it will cover configuring custom routing rules and patterns, adding additional static asset paths, and adding and modifying servlet container connectors and other properties such as enabling SSL.

Moving on, the book will teach you how to create custom Spring Boot Starters, and explore different techniques to test Spring Boot applications. Next, the book will show you examples of configuring your build to produce Docker images and self-executing binary files for Linux/OSX environments.

Finally, the book will teach you how to create custom health indicators, and access monitoring data via HTTP and JMX.

Style and approach

This book is a cohesive collection of recipes that provide developers with a set of connected guidelines on how to build, configure, and customize their application, starting from the design and development stages, all the way through testing, deployment, and production monitoring.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on ā€œCancel Subscriptionā€ - itā€™s as simple as that. After you cancel, your membership will stay active for the remainder of the time youā€™ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlegoā€™s features. The only differences are the price and subscription period: With the annual plan youā€™ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, weā€™ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Spring Boot Cookbook an online PDF/ePUB?
Yes, you can access Spring Boot Cookbook by Alex Antonov in PDF and/or ePUB format, as well as other popular books in Informatique & Programmation en Java. We have over one million books available in our catalogue for you to explore.

Information

Year
2015
ISBN
9781785284151

Spring Boot Cookbook


Table of Contents

Spring Boot Cookbook
Credits
About the Author
Acknowledgment
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Started with Spring Boot
Introduction
Using a Spring Boot template and starters
How to do itā€¦
How it worksā€¦
Creating a simple application
How to do itā€¦
How it worksā€¦
Launching an application using Gradle
How to do itā€¦
How it worksā€¦
Using the command-line runners
How to do itā€¦
How it worksā€¦
Setting up a database connection
Getting ready
How to do itā€¦
How it worksā€¦
Setting up a data repository service
How to do itā€¦
How it worksā€¦
Scheduling executors
Getting ready
How to do itā€¦
How it worksā€¦
2. Configuring Web Applications
Creating a basic RESTful application
How to do itā€¦
How it worksā€¦
Creating a Spring Data REST service
How to do itā€¦
How it worksā€¦
Configuring custom servlet filters
How to do itā€¦
How it worksā€¦
Configuring custom interceptors
How to do itā€¦
How it worksā€¦
Configuring custom HttpMessageConverters
How to do itā€¦
How it worksā€¦
Configuring custom PropertyEditors
How to do itā€¦
How it worksā€¦
Configuring custom type Formatters
How to do itā€¦
How it worksā€¦
3. Web Framework Behavior Tuning
Introduction
Configuring route matching patterns
How to do itā€¦
How it worksā€¦
Configuring custom static path mappings
How to do itā€¦
How it worksā€¦
Tuning Tomcat via EmbeddedServletContainerCustomizer
How to do itā€¦
How it worksā€¦
Choosing embedded servlet containers
How to do itā€¦
How it worksā€¦
Adding custom connectors
Getting ready
How to do itā€¦
How it worksā€¦
4. Writing Custom Spring Boot Starters
Introduction
Understanding Spring Boot autoconfiguration
How to do itā€¦
How it worksā€¦
Creating a custom Spring Boot autoconfiguration starter
How to do itā€¦
How it worksā€¦
Configuring custom conditional bean instantiations
How to do itā€¦
How it worksā€¦
Using custom @Enable* annotations to toggle configurations
How to do itā€¦
How it worksā€¦
5. Application Testing
Introduction
Creating tests for Spring MVC Controllers
How to do itā€¦
How it worksā€¦
Automatically configuring the database schema and populating it with data
How to do itā€¦
How it worksā€¦
Initializing the database with Spring JPA and Hibernate
Initializing the database with Spring JDBC
Creating tests using in-memory database with data fixtures
How to do itā€¦
How it worksā€¦
Creating tests using Mockito to mock DB
How to do itā€¦
How it worksā€¦
Writing tests using Cucumber
How to do itā€¦
How it worksā€¦
Writing tests using Spock
How to do itā€¦
How it worksā€¦
6. Application Packaging and Deployment
Introduction
Creating a Spring Boot executable JAR
How to do itā€¦
How it worksā€¦
Creating Docker images
How to do itā€¦
How it worksā€¦
Building self-executing binaries
Getting ready
How to do itā€¦
How it worksā€¦
Spring Boot environment config hierarchy and precedence
How to do itā€¦
How it worksā€¦
Externalizing environmental config using property files
How to do itā€¦
How it worksā€¦
Externalizing environmental config using environment variables
How to do itā€¦
How it worksā€¦
Externalizing environmental config using Java system properties
How to do itā€¦
How it worksā€¦
Setting up Consul
How to do itā€¦
How it worksā€¦
Externalizing environmental config using Consul and envconsul
Getting ready
How to do itā€¦
How it worksā€¦
7. Health Monitoring and Data Visualization
Introduction
Writing custom health indicators
How to do itā€¦
How it worksā€¦
Emitting metrics
Getting ready
How to do itā€¦
How it worksā€¦
Monitoring Spring Boot via JMX
Getting ready
How to do itā€¦
How it worksā€¦
Management of Spring Boot via CRaSH and writing custom remote shell commands
How to do itā€¦
How it worksā€¦
Integrating Codahale/Dropwizard metrics with Graphite
Getting ready
How to do itā€¦
How it worksā€¦
Integrating Codahale/Dropwizard metrics with Dashing
Getting ready
How to do itā€¦
How it worksā€¦
Index

Spring Boot Cookbook

Copyright Ā© 2015 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: September 2015
Production reference: 1240915
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78528-415-1
www.packtpub.com

Credits

Author
Alex Antonov
Reviewers
Theo Pack
Eric Pirard
Geoffroy Warin
Ricky Yim
Commissioning Editor
Dipali Goankar
Acquisition Editor
Sonali Vernekar
Content Development Editor
Shweta Pant
Technical Editor
Bharat Patil
Copy Editor
Tasneem Fatehi
Project Coordinator
Shipra Chawhan
Proofreader
Safis Editing
Indexer
Monica Ajmera Mehta
Production Coordinator
Arvindkumar Gupta
Cover Work
Arvindkumar Gupta

About the Author

Alex Antonov is a very passionate technologist with a hunger to learn new tools, languages, techniques, and concepts behind enterprise application design. His specialty lies in designing highly scalable distributed large-scale enterprise systems, which he has been successfully doing for the last 12 years. He is also a frequent presenter on the topics of architecture and design at conferences such as UberConf, JavaOne, and Spring 2GX.
Alex joined Orbitz Worldwide in 2004, and in his current role of Senior Principal Engineer, he is responsible for providing technical leadership and guidance in the development of foundational technologies, core libraries, and APIs for enterprise-wide use, as well as establishing and maintaining common design principles and standards used within the company and integration of new software development practices within the development community. He has extensive experience in enterprise architecture designing distributed systems, and spends a lot of time doing object domain modeling and focusing on domain-driven design and behavior-driven development and testing. Prior to that, Alex was a lead engineer in the same team that was responsible for web application frameworks and developing common practices and additional functionality on top of Spring MVC and Webflow.
He has ...

Table of contents