Extending, Securing, and Dockerizing Spring Boot Microservices
2h 4mAdvanced2020-09-28
Authors

Mary Ellen Bowman
25+ years of full life-cycle software development experience
Course details
Build on the foundational knowledge you have of the Spring framework. Learn how to extend, refine, harden, test, and "dockerize" your Spring Boot microservices, and turn them into production-ready applications. Instructor Mary Ellen Bowman teaches the intermediate skills you need to build professional-grade programs, emphasizing standards for quality, security, persistence, and deployment. She shows how to link to external databases, build secure APIs, use unit and integration testing to uncover application flaws during development, and configure scalable deployment options with Docker containers.
Learning objectives
Enhancing a Spring Boot microservice
Hardening the microservice
Configuring security with JSON web tokens
Leveraging Docker for MySQL database access
Dockerizing your microservice
Learning objectives
Enhancing a Spring Boot microservice
Hardening the microservice
Configuring security with JSON web tokens
Leveraging Docker for MySQL database access
Dockerizing your microservice
Skills covered
Spring Data JPASpring FrameworkSpring BootDockerSpringSoftware ArchitectureVirtualizationWeb Development ToolsWeb DevelopmentNetwork and System AdministrationOpen SourceSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Elevate a microservice
- 02 - What you should know
- 03 - Reviewing the Original Spring Boot microservice
1. Enhancing a Spring Boot Microservice
- 04 - Running the microservice
- 05 - Define the schema and default data
- 06 - Identify transactional business services boundaries
2. Hardening the Microservice
- 07 - Adding a runtime logger
- 08 - Unit testing with Mockito vs. integration testing
- 09 - Restful API testing with JUnit
- 10 - Documenting APIs with Swagger
3. Spring Security with JSON Web Tokens (JWT)
- 11 - Users and roles
- 12 - Spring Security authentication
- 13 - Password encryption
- 14 - Understanding JWT
- 15 - Configuring Spring Security for JWT for authorization
- 16 - Securing APIs
4. Leveraging Docker for MySQL Database Access
- 17 - What is Docker
- 18 - Running the application with MySQL container
- 19 - Database migration with Flyway
- 20 - Selecting Spring profiles at runtime
5. Dockerizing Your Microservice
- 21 - Create and run a Java application Docker image
- 22 - Link the Java application and database Docker containers
- 23 - Separate application image from database migration
- 24 - Leverage a Docker Maven plugin
- 25 - Sharing images with Docker hub
Conclusion
- 26 - Next steps