Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Java Spring Boot Mastery: Guide to Modern Java Development
Rating: 4.2 out of 5(21 ratings)
7,117 students

Java Spring Boot Mastery: Guide to Modern Java Development

Master the art of building robust web applications with Java Spring Boot in this comprehensive course.
Last updated 3/2024
English
English [Auto],

What you'll learn

  • Introduction to Java Spring Boot framework and its features. Setup and configuration of Spring Boot projects using CLI tools and Spring Initializr
  • Building RESTful APIs and implementing CRUD operations. Integration of databases using Spring Data and JDBC.
  • Implementing security features such as authentication and authorization. Advanced topics including caching, logging, and profiling.
  • Deployment of Spring Boot applications in production environments. Building microservices architecture and handling client-side load balancing.
  • Case study: Development of an Appointment Management System using Spring Boot.
  • Testing techniques including unit testing with JUnit. Hands-on projects and exercises to reinforce learning.

Course content

3 sections103 lectures16h 2m total length
  • Introduction to Spring Boot7:04

    Spring Boot lets you create standalone, production-grade Spring-based applications to run with minimal setup, providing an opinionated view of the Spring platform and third-party libraries while reducing boilerplate.

  • Features of Spring Boot6:10

    Discover how Spring Boot enables standalone Spring applications with embedded servers, simplified Maven setup via starter poms, automatic configuration, and production-ready features like metrics, health checks, and externalized configuration.

  • Spring Boot CLI Tools7:39

    Learn to start Spring Boot with the command line interface tool, Spring Tool Suite, and spring initializer, including groovy scripting, dot class files, Java 1.8, and Maven.

  • Installation of Spring boot CLI8:55

    Install spring boot cli by downloading and unzipping, set spring home, verify with spring --version, then run spring run app.groovy to launch a rest controller with request mapping on localhost:8080.

  • Spring Boot CLi Java Example12:03

    Explore a plain folder-based Spring Boot CLI Java example, building a Maven project with pom.xml, dependencies, and a simple rest controller that runs with SpringApplication.run.

  • Spring Boot CLi Java Example Continues9:32

    Learn to run and package a Spring Boot Java app with Maven, use REST controller and request mapping, and understand auto configuration and executable jar deployment on localhost.

  • POM Starters4:58

    Explore how spring boot starters automate boilerplate code and dependencies via pom.xml, including web, test, mobile, and social starters, and learn to bootstrap projects with the spring initializer at start.spring.io.

  • Spring Initializr8:44

    Showcases how Spring Initializr creates a Maven Java project with Spring Boot 1.5.3 and web and JPA starters. Navigate the generated structure: pom.xml, application.properties, src/main/java, and embedded Tomcat.

  • Downloading STS9:36

    download and install the spring tool suite (sts) version 4.6.3 from spring.io/tools for windows 64-bit, unzip, launch with eclipse launcher, and import a maven project via pom.xml.

  • Spring Tool Suite9:37

    Debug a Spring Boot app in Spring Tool Suite by fixing embedded database config, adding a rest controller to resolve the white label error, and observing Tomcat hot reload.

  • Spring Initializr Through CLI9:11

    Learn to create a spring initializr project via the cli with spring init, mirroring the web interface on spring.io and generating a demo.zip with src and pom.xml.

  • Example of Spring Initializr Through CLI9:09

    Explore creating customized Spring Boot projects from the CLI with spring init, selecting dependencies (web, security), choosing packaging (jar or war), and configuring Java and boot versions.

  • Spring Boot Application Through STS9:52

    Learn to create and run a Spring Boot application using STS (Spring Tool Suite), selecting a Maven web project, configuring Java 1.8, and running the app with SpringApplication.run.

  • Annotation10:25

    Learn to build a spring boot rest controller by creating a controller, mapping requests, and leveraging the base package and component scan to configure beans and the application context.

  • Spring Boot Application7:34

    Explore how spring boot loads initial beans on startup, uses command line runners and application context to list bean definitions, and leverages auto configuration and embedded Tomcat.

  • Spring Boot Application Continues7:05

    Learn how Spring Boot starts the embedded Tomcat on port 8080, loads beans via the application context, and packages as a jar file, with actuator health insights.

  • Uni Testing Case8:06

    Learn to write unit tests in a Spring Boot app by isolating the controller layer, using the Spring Boot Starter Test and MockMvc to mock requests and verify responses.

  • Example UNI Testing Case9:57

    Execute unit tests for a Spring Boot controller using MockMvc, performing a get request with a JSON media type, asserting a 200 ok status and the expected response content.

  • Integration Testing and its Example11:47

    Explore integration testing in Spring Boot by validating end-to-end flows from the controller to the service and data access using a real URL, random port, and TestRestTemplate.

  • Introduction to Thyme Leaf9:04

    Explore Thymeleaf templates in Spring Boot, including enabling the Thymeleaf dependency, placing templates in resources/templates, and enabling data flow between pages to render dynamic data in a web page.

  • Example of Thyme Leaf Demo4:44

    Submit pizza name and topping via a thymeleaf template using a post method, creating a pizza model with getters and setters and a save data controller.

  • Example of Thyme Leaf Demo Continues9:15

    Build a Spring Boot controller method to save data and return a model. Use Thymeleaf to render a pizza-data template and bind a pizza model in a post form.

  • Running the Thyme Leaf Demo5:15

    Build a running Thymeleaf demo by wiring index.html and the data template to display the pizza name and toppings, and exchange data with the Spring Boot backend.

  • Auto Configuration12:12

    Discover how Spring Boot auto configuration works and how to override defaults with a custom setup, using Spring Security as a practical example.

  • Configuring Properties12:02

    Extend web security configure adapter and override configure methods to customize http security, using matchers to permit all for slash star patterns and exclude auto configuration to prevent password logging.

  • Configuration Properties12:15

    Learn how to override Spring Boot configurations via command line, properties or YAML files, or environment variables, and disable the banner and template caching.

  • Disabling Template Caching11:12
  • Logging8:01

    Explore how Spring Boot logging works with logback, configure logging levels via application properties, control console and file outputs, and customize logback with xml or logback-spring.xml for advanced scenarios.

  • Configuring the Logback8:46

    Configure logback in a Spring Boot app to print logs to a file with a file appender and learn log format: date, time, level, process id, thread, logger, and message.

  • Example of Logback7:02

    Explore logback basics, configure log patterns and log files, and manage spring boot starter exclusions to switch to log4j2. Learn console and file logging setups and patterns.

  • Configuration to Log11:08

    Learn to configure log4j2 in Spring Boot using log4j2-spring.xml, set up console and file appenders, customize patterns, and compare with logback to tailor log output.

  • More on Configuration to Log6:24

    Explore practical logging in Spring Boot by configuring loggers with a logger factory and emitting info, warning, debug, and error messages to study log levels.

  • Connecting Database to Spring9:16

    Connects spring boot to databases by explaining in-memory and production databases, configuring data sources via application properties, and using schema.sql and data.sql for initialization.

  • Example of Database12:07

    Examine a practical spring boot database example using pom.xml, spring boot starter jdbc, hsqldb, and schema and data sql files to manage employees with a jdbc template.

  • Example of Database Continues9:17

    Attach the row mapper to create employee objects, expose a read-only /employees endpoint via the service layer, and fetch employee data as JSON from the SQL DB.

  • Production Databases8:37
  • More on Production Database9:23

    Configure production databases in Spring Boot by switching from in-memory to a MySQL data source via application.properties, including driver, url, username, and password; Spring Boot auto-configures the data source bean.

  • Spring Data5:18

    Learn how Spring Data and Spring Data JPA simplify data access with repositories, enabling CRUD operations, pagination, and automatic table creation via Hibernate.

  • Example of Spring Data7:28

    Switch to Spring Data by creating an employee repository that extends CrudRepository, annotating the employee model with entity, table, id, generated value, and column mappings for MySQL.

  • Example using Crud Repository10:49
  • Example using Crud Repository Continues9:12

    Explore crud repository operations in Spring Data, including create, read, update, delete, find one, and fetch all, with repository methods and practical examples.

  • Spring Boot Caching using Redis10:03

    Spring boot caching uses Redis as an in-memory cache to speed data access by storing recently read items, with lru eviction and a check cache, fetch on miss, populate workflow.

  • Installing Redis in Spring Caching10:56

    Install and run Redis on Windows and verify with Redis CLI ping; then set up a Spring Boot project in Spring Tool Suite with MySQL and JPA for employee demo.

  • Example of Spring Boot using Redis7:44

    Create a configuration file that wires the Redis cache: define a connection factory with host 127.0.0.10 and port 6379, set up a Redis template, and configure a Redis cache manager.

  • Example of Spring Boot using Redis Continues9:33
  • Spring Security in Spring Boot11:19

    Explore Spring Security in a Spring Boot app, covering authentication and authorization, their differences, and how the Spring Boot starter security enables secure access.

  • Spring Security in Spring Boot Continues12:10

    Explore building a Thymeleaf-based web app with Spring Boot. Configure views and controllers, and introduce Spring Security with a login page to protect a Hello page.

  • Example of Spring Security10:25

    Secure a Spring Boot web app with Spring Security by enabling security, configuring http security, using form login on a login page, and in-memory authentication.

  • Output of Spring Security6:34

    Build a login form with username and password fields and thymeleaf conditionals for invalid credentials or logout, and display the remote user on the hello page via http servlet request.

  • Core Component Spring Security7:31

    Learn how spring security and spring boot protect routes with a web security configuration and an in-memory user store. See how login, logout, and URL access control are implemented.

Requirements

  • To learn this Spring Boot certification course in a short period there are some of the particulars that you should be aware of. As this framework is based on Java, the very first thing you should be aware of is Java.
  • The next thing is, you should have an idea about working with different frameworks. The basic working of frameworks may be different but they approach used to work with them are pretty much the same. So one who had an idea about working with other frameworks will find it lean this course.

Description

The course "Java Spring Boot Mastery" is a comprehensive program designed to equip learners with the essential skills and knowledge required to become proficient Java Spring Boot developers. Through a combination of theoretical explanations, hands-on exercises, and real-world case studies, this course offers a structured learning path that caters to both beginners and experienced developers looking to enhance their expertise in Spring Boot development.

With a focus on practical application and industry-relevant techniques, students will gain a deep understanding of Spring Boot's core concepts, advanced features, and best practices. From setting up a Spring Boot project to deploying microservices architectures and building robust web applications, this course covers a wide range of topics essential for modern Java development.

Whether you're a seasoned developer seeking to upgrade your skills or a newcomer to Java Spring Boot looking to kickstart your career, this course provides the comprehensive guidance and resources needed to succeed in today's competitive software development landscape. Join us on this exciting journey and unlock the full potential of Java Spring Boot development!

Section 1: Java Spring Boot

This section serves as a foundational pillar for students venturing into Java Spring Boot development. Through a series of introductory lectures, learners grasp the core essence of Spring Boot, understanding its significance in modern application development. They delve into its architecture, comprehending how Spring Boot simplifies the configuration and setup of Spring-based applications. Practical demonstrations and examples elucidate key features like Spring Boot CLI tools, POM starters, and Spring Initializr, empowering students to kickstart their Spring Boot projects efficiently. By familiarizing themselves with annotation-based configurations and exploring unit testing techniques, students establish a solid groundwork for their journey ahead.

Section 2: Java Spring Boot - Advanced

Expanding upon the foundational knowledge, this section delves into the advanced realms of Java Spring Boot development. Students venture into sophisticated topics such as Spring Boot Actuator for application monitoring and management, gaining insights into customizing endpoints and integrating health indicators. Through practical exercises, they master advanced database interactions, including NoSQL databases like MongoDB and Solr. Moreover, students explore microservices architecture, learning to build, deploy, and manage microservices using Spring Boot. By the section's conclusion, learners are equipped with the expertise to architect robust, scalable, and resilient applications leveraging Java Spring Boot's advanced capabilities.

Section 3: Java Spring Boot Case Study - Appointment Management System

In this culminating section, students embark on a hands-on journey through a comprehensive case study: the development of an Appointment Management System using Java Spring Boot. Guided by instructors and supported by step-by-step tutorials, learners translate their theoretical knowledge into practical application. They traverse the entire software development lifecycle, from requirement analysis and data modeling to implementation, testing, and deployment. By actively participating in the creation of a real-world application, students consolidate their understanding of Java Spring Boot's concepts and principles. Additionally, they cultivate essential skills in project management, collaboration, and problem-solving, preparing them for real-world development challenges. Upon completing the case study, students emerge with a robust portfolio piece and the confidence to tackle complex Java Spring Boot projects independently.

Who this course is for:

  • Software developers looking to enhance their skills in Java Spring Boot.
  • Students and professionals aiming to build robust and scalable web applications.
  • Individuals interested in learning about microservices architecture and RESTful API development.
  • Those seeking practical experience with Spring Boot through hands-on projects and case studies.
  • Java programmers interested in mastering advanced Spring Boot features like security, caching, and deployment.
  • Anyone wishing to explore modern software development practices and industry-standard tools.