{"id":18980753,"url":"https://github.com/mdbytes/springmasterclass","last_synced_at":"2026-04-12T18:33:01.252Z","repository":{"id":173375175,"uuid":"650326978","full_name":"mdbytes/SpringMasterClass","owner":"mdbytes","description":"Notes and code developed while taking  'Master Spring 6 and Spring Boot 3'.  Spring frameworks are the #1 frameworks for building enterprise apps in the Java world.  ","archived":false,"fork":false,"pushed_at":"2023-06-09T19:04:28.000Z","size":32774,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-01T11:22:10.066Z","etag":null,"topics":["full-stack","java","react","rest-api","spring","spring-6","spring-boot","spring-boot-3"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdbytes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-06T20:46:34.000Z","updated_at":"2023-06-06T20:51:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"ca0bcb40-6ce6-4d29-8c1f-876eec2cb193","html_url":"https://github.com/mdbytes/SpringMasterClass","commit_stats":null,"previous_names":["mdbytes/springmasterclass"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbytes%2FSpringMasterClass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbytes%2FSpringMasterClass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbytes%2FSpringMasterClass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdbytes%2FSpringMasterClass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdbytes","download_url":"https://codeload.github.com/mdbytes/SpringMasterClass/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239985725,"owners_count":19729515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["full-stack","java","react","rest-api","spring","spring-6","spring-boot","spring-boot-3"],"created_at":"2024-11-08T16:07:41.062Z","updated_at":"2025-11-10T18:02:31.774Z","avatar_url":"https://github.com/mdbytes.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Master Spring and Spring Boot\n\n**Notes and code developed while taking...**\n\n**Master Spring and Spring Boot** \n\nFrameworks are the **No 1 frameworks** for building enterprise apps in the Java world. \n\nThe full course is available here -\u003e \u003ca href=\"https://www.udemy.com/course/spring-boot-and-spring-framework-tutorial-for-beginners/\"\u003eMaster Spring Boot 3 \u0026 Spring Framework 6 with Java\u003c/a\u003e\n\nThe notes and code are organized by course section as follows:\n\n### Getting Started - Master Spring Framework and Spring Boot\n- Getting Started - Master Spring Framework and Spring Boot\n\n### 1. Getting Started with Java Spring Framework\n- Step 01 - Understanding the Need for Java Spring Framework\n- Step 02 - Getting Started with Java Spring Framework\n- Step 03 - Creating a New Spring Framework Project with Maven and Java\n- Step 04 - Getting Started with Java Gaming Application\n- Step 05 - Understanding Loose Coupling and Tight Coupling\n- Step 06 - Introducting Java Interface to Make App Loosely Coupled\n- Step 07 - Bringing in Spring Framework to Make Java App Loosely Coupled\n- Step 08 - Your First Java Spring Bean and Launching Java Spring Configuration\n- Step 09 - Creating More Java Spring Beans in Spring Java Configuration File\n- Step 10 - Implementing Auto Wiring in Spring Framework Java Configuration File\n- Step 11 - Questions about Spring Framework - What will we learn?\n- Step 12 - Understanding Spring IOC Container - Application Context and Bean Factory\n- Step 13 - Exploring Java Bean vs POJO vs Spring Bean\n- Step 14 - Exploring Spring Framework Bean Auto Wiring - Primary and Qualifier Annotations\n- Step 15 - Using Spring Framework to Manage Beans for Java Gaming App\n- Step 16 - More Questions about Java Spring Framework - What will we learn?\n- Step 17 - Exploring Spring Framework With Java - Section 1 - Review\n\n### 2. Using Spring Framework to Create and Manage Your Java Objects\n- Step 01 - Getting Spring Framework to Create and Manage Your Java Objects\n- Step 02 - Exploring Primary and Qualifier Annotations for Spring Components\n- Step 03 - Primary and Qualifier - Which Spring Annotation Should You Use?\n- Step 04 - Exploring Spring Framework - Different Types of Dependency Injection\n- Step 05 - Java Spring Framework - Understanding Important Terminology\n- Step 06 - Java Spring Framework - Comparing @Component vs @Bean\n- Step 07 - Why do we have dependencies in Java Spring Applications?\n- Step 08 - Exercise/ Solution for Real World Java Spring Framework Example\n- Step 09 - Exploring Spring Framework With Java - Section 2 - Review\n\n### 3. Exploring Spring Framework Advanced Features\n- Step 01 - Exploring Lazy and Eager Initialization of Spring Framework Beans\n- Step 02 - Comparing Lazy Initialization vs Eager Initialization\n- Step 03 - Exploring Java Spring Framework Bean Scopes - Prototype and Singleton\n- Step 04 - Comparing Prototype vs Singleton - Spring Framework Bean Scopes\n- Step 05 - Exploring Spring Beans - PostConstruct and PreDestroy\n- Step 06 - Evolution of Jakarta EE - Comparing with J2EE and Java EE\n- Step 07 - Exploring Jakarta CDI with Spring Framework and Java\n- Step 08 - Exploring Java Spring XML Configuration\n- Step 09 - Exploring Java Annotations vs XML Configuration for Java Spring Framework\n- Step 10 - Exploring Spring Framework Stereotype Annotations - Component and more\n- Step 11 - Quick Review - Important Spring Framework Annotations\n- Step 12 - Quick Review - Important Spring Framework Concepts\n- Step 13 - Exploring Spring Big Picture - Framework, Modules and Projects\n\n### 4. Getting Started with Spring Boot\n- Step 01 - Getting Started with Spring Boot - Goals\n- Step 02 - Understanding the World Before Spring Boot - 10000 Feet Overview\n- Step 03 - Setting up New Spring Boot Project with Spring Initializr\n- Step 04 - Build a Hello World API with Spring Boot\n- Step 05 - Understanding the Goal of Spring Boot\n- Step 06 - Understanding Spring Boot Magic - Spring Boot Starter Projects\n- Step 07 - Understanding Spring Boot Magic - Auto Configuration\n- Step 08 - Build Faster with Spring Boot DevTools\n- Step 09 - Get Production Ready with Spring Boot - 1 - Profiles\n- Step 10 - Get Production Ready with Spring Boot - 2 - ConfigurationProperties\n- Step 11 - Get Production Ready with Spring Boot - 3 - Embedded Servers\n- Step 12 - Get Production Ready with Spring Boot - 4 - Actuator\n- Step 13 - Understanding Spring Boot vs Spring vs Spring MVC\n- Step 14 - Getting Started with Spring Boot - Review\n\n### 6. Getting Started with JPA and Hibernate with Spring and Spring Boot\n- Step 01 - Getting Started with JPA and Hibernate - Goals\n- Step 02 - Setting up New Spring Boot Project for JPA and Hibernate\n- Step 03 - Launching up H2 Console and Creating Course Table in H2\n- Step 04 - Getting Started with Spring JDBC\n- Step 05 - Inserting Hardcoded Data using Spring JDBC\n- Step 06 - Inserting and Deleting Data using Spring JDBC\n- Step 07 - Querying Data using Spring JDBC\n- Step 08 - Getting Started with JPA and EntityManager\n- Step 09 - Exploring the Magic of JPA\n- Step 10 - Getting Started with Spring Data JPA\n- Step 11 - Exploring features of Spring Data JPA\n- Step 12 - Understanding difference between Hibernate and JPA\n\n### 7. Build Java Web Application with Spring Framework, Spring Boot and Hibernate\n- Step 00 - Introduction to Building Web App with Spring Boot\n- Step 01 - Creating Spring Boot Web Application with Spring Initializr\n- Step 02 - Quick overview of Spring Boot Project\n- Step 03 - First Spring MVC Controller, @ResponseBody, @Controller\n- Step 04 - 01 - Enhancing Spring MVC Controller to provide HTML response\n- Step 04 - 02 - Exploring Step By Step Coding and Debugging Guide\n- Step 05 - Redirect to a JSP using Spring Boot - Controller, @ResponseBody and View Resolver\n- Step 06 - Exercise - Creating LoginController and login view\n- Step 07 - Quick Overview - How does web work - Request and Response\n- Step 08 - Capturing QueryParams using RequestParam and First Look at Model\n- Step 09 - Quick Overview - Importance of Logging with Spring Boot\n- Step 10 - Understanding DispatcherServlet, Model 1, Model 2 and Front Controller\n- Step 11 - Creating a Login Form\n- Step 12 - Displaying Login Credentials in a JSP using Model\n- Step 13 - Add hard coded validation of userid and password\n- Step 14 - Getting started with Todo Features - Creating Todo and TodoService\n- Step 15 - Creating first version of List Todos Page\n- Step 16 - Understanding Session vs Model vs Request - @SessionAttributes\n- Step 17 - Adding JSTL to Spring Boot Project and Showing Todos in a Table\n- Step 18 - Adding Bootstrap CSS framework to Spring Boot Project using webjars\n- Step 19 - Formatting JSP pages with Bootstrap CSS framework\n- Step 20 - Lets Add a New Todo - Create a new View\n- Step 21 - Enhancing TodoService to add the todo\n- Step 22 - Adding Validations using Spring Boot Starter Validation\n- Step 23 - Using Command Beans to implement New Todo Page Validations\n- Step 24 - Implementing Delete Todo Feature - New View\n- Step 25 - Implementing Update Todo - 1 - Show Update Todo Page\n- Step 26 - Implementing Update Todo - 1 - Save changes to Todo\n- Step 27 - Adding Target Date Field to Todo Page\n- Step 28 - Adding a Navigation Bar and Implementing JSP Fragments\n- Step 29 - Preparing for Spring Security\n- Step 30 - Setting up Spring Security with Spring Boot Starter Security\n- Step 31 - Configuring Spring Security with Custom User and Password Encoder\n- Step 32 - Refactoring and Removing Hardcoding of User Id\n- Step 33 - Setting up a New User for Todo Application\n- Step 34 - Adding Spring Boot Starter Data JPA and Getting H2 database ready\n- Step 35 - 01 - Configuring Spring Security to Get H2 console Working\n- Step 36 - Making Todo an Entity and Population Todo Data into H2\n- Step 37 - Creating TodoRepository and Connecting List Todos page from H2 database\n- Step 38 - 01 - Connecting All Todo App Features to H2 Database\n- Step 38 - 02 - Exploring Magic of Spring Boot Starter JPA and JpaRepository\n- Step 39 - OPTIONAL - Overview of Connecting Todo App to MySQL database\n- Step 40 - OPTIONAL - Installing Docker\n- Step 41 - OPTIONAL - Connecting Todo App to MySQL database\n\n### 8. Creating a Java REST API with Spring Boot, Spring Framework and Hibernate\n- Step 00 - Creating a REST API with Spring Boot - An Overview\n- Step 01 - Initializing a REST API Project with Spring Boot\n- Step 02 - Creating a Hello World REST API with Spring Boot\n- Step 03 - Enhancing the Hello World REST API to return a Bean\n- Step 04 - What's happening in the background? Spring Boot Starters and Autoconfiguration\n- Step 05 - Enhancing the Hello World REST API with a Path Variable\n- Step 06 - Designing the REST API for Social Media Application\n- Step 07 - Creating User Bean and UserDaoService\n- Step 08 - Implementing GET Methods for User Resource\n- Step 09 - Implementing POST Method to create User Resource\n- Step 10 - Enhancing POST Method to return correct HTTP Status Code and Location URI\n- Step 11 - Implementing Exception Handling - 404 Resource Not Found\n- Step 12 - Implementing Generic Exception Handling for all Resources\n- Step 13 - Implementing DELETE Method to delete a User Resource\n- Step 14 - Implementing Validations for REST API\n- Step 15 - Overview of Advanced REST API Features\n- Step 16 - Understanding Open API Specification and Swagger\n- Step 17 - Configuring Auto Generation of Swagger Documentation\n- Step 18 - Exploring Content Negotiation - Implementing Support for XML\n- Step 19 - Exploring Internationalization for REST API\n- Step 20 - Versioning REST API - URI Versioning\n- Step 21 - Versioning REST API - Request Param, Header and Content Negotiation\n- Step 22 - Implementing HATEOAS for REST API\n- Step 23 - Implementing Static Filtering for REST API\n- Step 24 - Implementing Dynamic Filtering for REST API\n- Step 25 - Monitoring APIs with Spring Boot Actuator\n- Step 26 - Exploring APIs with Spring Boot HAL Explorer\n- Step 27 - Connecting REST API to H2 using JPA and Hibernate - An Overview\n- Step 28 - Creating User Entity and some test data\n- Step 29 - Enhancing REST API to connect to H2 using JPA and Hibernate\n- Step 30 - Creating Post Entity with Many to One Relationship with User Entity\n- Step 31 - Implementing a GET API to retrieve all Posts of a User\n- Step 32 - Implementing a POST API to create a Post for a User\n- Step 33 - Exploring JPA and Hibernate Queries for REST API\n- Step 34 - Connecting REST API to MySQL Database - An Overview\n- Step 34z - OPTIONAL - Installing Docker\n- Step 35 - OPTIONAL - Connecting REST API to MySQL Database - Implementation\n- Step 36 - Implementing Basic Authentication with Spring Security\n- Step 37 - Enhancing Spring Security Configuration for Basic Authentication\n\n### 9. Building Java Full Stack Application with Spring Boot and React\n- Step 01 - Getting Started - Full Stack Spring Boot and React Application\n- Step 02 - Exploring What and Why of Full Stack Architectures\n- Step 03 - Understanding JavaScript and EcmaScript History\n- Step 04 - Installing Visual Studio Code\n- Step 05 - Installing nodejs and npm\n- Step 06 - Creating React App with Create React App\n- Step 07 - Exploring Important nodejs Commands - Create React App\n- Step 08 - Exploring Visual Studio Code and Create React App\n- Step 09 - Exploring Create React App Folder Structure\n- Step 10 - Getting started with React Components\n- Step 11 - Creating Your First React Component and more\n- Step 12 - Getting Started with State in React - useState hook\n- Step 13 - Exploring JSX - React Views\n- Step 14 - Following JavaScript Best Practices - Refactoring to Modules\n- Step 15 - Exploring JavaScript further\n\n### 10. Exploring React Components with Counter Example\n- Step 01 - Exploring React Components with Counter Example\n- Step 02 - Getting Started with React Application - Counter\n- Step 03 - Getting Started with React Application - Counter - 2\n- Step 04 - Exploring React State with useState hook - Adding state to Counter\n- Step 05 - Exploring React State - What is happening in Background?\n- Step 06 - Exploring React Props - Setting Counter increment value\n- Step 07 - Creating Multiple Counter Buttons\n- Step 08 - Moving React State Up - Setting up Counter and Counter Button\n- Step 09 - Moving React State Up - Calling Parent Component Methods\n- Step 10 - Exploring React Developer Tools\n- Step 11 - Adding Reset Button to Counter\n- Step 12 - Refactoring React Counter Component\n\n### 11. Building Java Todo Full Stack Application with Spring Boot and React\n- Step 01 - Getting Started with React Todo Management App\n- Step 02 - Getting Started with Login Component - Todo React App\n- Step 03 - Improving Login Component Further - Todo React App\n- Step 04 - Adding Hardcoded Authentication - Todo React App\n- Step 05 - Conditionally Displaying Messages in Login Component - Todo React App\n- Step 06 - Adding React Router Dom and Routing from Login to Welcome Component\n- Step 07 - Adding Error Component to our React App\n- Step 08 - Removing Hard Coding from Welcome Component\n- Step 09 - Getting Started with React List Todo Component\n- Step 10 - Displaying More Todo Details in React List Todo Component\n- Step 11 - Creating React Header, Footer and Logout Components\n- Step 12 - Adding Bootstrap to React Front End Application\n- Step 13 - Using Bootstrap to Style Todo React Front End Application\n- Step 14 - Refactoring React Components to Individual JavaScript Modules\n- Step 15 - Sharing React State with Multiple Components with Auth Context\n- Step 16 - Updating React State and Verifying Updates through Auth Context\n- Step 17 - Setting isAuthenticated into React State - Auth Context\n- Step 18 - Protecting Secure React Routes using Authenticated Route - 1\n- Step 19 - Protecting Secure React Routes using Authenticated Route - 2\n\n### 12. Connecting Spring Boot REST API with React Frontend - Java Full Stack Application\n- Step 01 - Setting Todo REST API Project for React Full Stack Application\n- Step 02 - Calling Spring Boot Hello World REST API from React Hello World Component\n- Step 03 - Enabling CORS Requests for Spring Boot REST API\n- Step 04 - Invoking Spring Boot Hello World Bean and Path Param REST API from React\n- Step 05 - Refactoring Spring Boot REST API Invocation Code to New Module\n- Step 06 - Following Axios Best Practices in Spring Boot REST API\n- Step 07 - Creating Retrieve Todos Spring Boot REST API Get Method\n- Step 08 - Displaying Todos from Spring Boot REST API in React App\n- Step 09 - Creating Retrieve Todo and Delete Todo Spring Boot REST API Methods\n- Step 10 - Adding Delete Feature to React Frontend\n- Step 11 - Setting Username into React Auth Context\n- Step 12 - Creating Todo React Component to display Todo Page\n- Step 13 - Adding Formik and Moment Libraries to Display Todo React Component\n- Step 14 - Adding Validation to Todo React Component using Formik\n- Step 15 - Adding Update Todo and Create Todo REST API to Spring Boot Backend API\n- Step 16 - Adding Update Feature to React Frontend\n- Step 17 - Adding Create New Todo Feature to React Frontend\n- Step 18 - Securing Spring Boot REST API with Spring Security\n- Step 19 - Adding Authorization Header in React to Spring Boot REST API calls\n- Step 20 - Configuring Spring Security to allow all Options Requests\n- Step 21 - Calling Basic Authentication Service when Logging into React App\n- Step 22 - Using async and await to invoke Basic Auth API\n- Step 23 - Setting Basic Auth Token into Auth Context\n- Step 24 - Setting up Axios Interceptor to add Authorization Header\n- Step 24A -  Debugging Problems with Basic Auth and Spring Boot\n- Step 25 - Getting Started with JWT and Spring Security\n- Step 26 - Integrating Spring Security JWT REST API with React Frontend\n- Step 27 - Debugging Problems with JWT Auth and Spring Boot\n\n### 13. Connecting Java Full Stack Application (Spring Boot and React) with JPA and Hibernate\n- Step 01 - Full Stack React and Spring Boot with JPA and Hibernate\n- Step 02 - Full Stack React \u0026 Spring Boot with JPA \u0026 Hibernate - Getting Tables Ready\n- Step 03 - Full Stack React \u0026 Spring Boot with JPA \u0026 Hibernate - Todo CRUD operations\n- Step 04 - Full Stack React \u0026 Spring Boot with JPA \u0026 Hibernate - Add New Todo\n- Step 05 - Full Stack React \u0026 Spring Boot with JPA \u0026 Hibernate - Connect with MySQL\n\n### 14. Exploring Unit Testing with JUnit\n- Step 01 - What is JUnit and Unit Testing_\n- Step 02 - Your First JUnit Project and Green Bar\n- Step 03 - Your First Code and First Unit Test\n- Step 04 - Exploring other assert methods\n- Step 05 - Exploring few important JUnit annotations\n\n### 15. Exploring Mocking with Mockito for Spring Boot Projects\n- Step 00 - Introduction to Section - Mockito in 5 Steps\n- Step 01 - Setting up a Spring Boot Project\n- Step 02 - Understanding problems with Stubs\n- Step 03 - Writing your first Mockito test with Mocks\n- Step 04 - Simplifying Tests with Mockito Annotations - @Mock, @InjectMocks\n- Step 05 - Exploring Mocks further by Mocking List interface\n\n### 16. Securing Spring Boot Applications with Spring Security\n- Step 00 - Getting started with Spring Security\n- Step 01 - Understanding Security Fundamentals\n- Step 02 - Understanding Security Principles\n- Step 03 - Getting Started with Spring Security\n- Step 04 - Exploring Default Spring Security Configuration\n- Step 05 - Creating Spring Boot Project for Spring Security\n- Step 06 - Exploring Spring Security - Form Authentication\n- Step 07 - Exploring Spring Security - Basic Authentication\n- Step 08 - Exploring Spring Security - Cross Site Request Forgery - CSRF\n- Step 09 - Exploring Spring Security - CSRF for REST API\n- Step 10 - Creating Spring Security Configuration to Disable CSRF\n- Step 11 - Exploring Spring Security - Getting Started with CORS\n- Step 12 - Exploring Spring Security - Storing User Credentials in memory\n- Step 13 - Exploring Spring Security - Storing User Credentials using JDBC\n- Step 14 - Understanding Encoding vs Hashing vs Encryption\n- Step 15 - Exploring Spring Security - Storing Bcrypt Encoded Passwords\n- Step 16 - Getting Started with JWT Authentication\n- Step 17 - Setting up JWT Auth with Spring Security and Spring Boot - 1\n- Step 18 - Setting up JWT Auth with Spring Security and Spring Boot - 2\n- Step 19 - Setting up JWT Resource with Spring Security and Spring Boot - 1\n- Step 20 - Setting up JWT Resource with Spring Security and Spring Boot - 2\n- Step 21 - Understanding Spring Security Authentication\n- Step 22 - Exploring Spring Security Authorization\n- Step 23 - Creating a Spring Boot Project for OAuth with Spring Security\n- Step 24 - Getting Started with Spring Boot and OAuth2 - Login with Google\n- Step 25 - Quick Review - Securing Spring Boot Apps with Spring Security\n\n### 17. Learning Spring AOP with Spring Boot\n\n- Step 01 - Getting Started with Spring AOP - An overview\n- Step 02 - What is Aspect Oriented Programming?\n- Step 03 - Creating a Spring Boot Project for Spring AOP\n- Step 04 - Setting up Spring Components for Spring AOP\n- Step 05 - Creating AOP Logging Aspect and Pointcut\n- Step 06 - Understanding AOP Terminology\n- Step 07 - Exploring @After, @AfterReturning, @AfterThrowing AOP Annotations\n- Step 08 - Exploring Around AOP annotations with a Timer class\n- Step 09 - AOP Best Practice - Creating Common Pointcut Definitions\n- Step 10 - Creating Track Time Annotation\n- Step 11 - Getting Started with Spring AOP - Thank You\n\n\n### 18. Learning Maven with Spring and Spring Boot\n- Step 01 - Introduction to Maven\n- Step 02 - Creating a Spring Boot Project with Maven\n- Step 03 - Exploring Maven pom.xml for Spring Boot Project\n- Step 04 - Exploring Maven Parent Pom for Spring Boot Project\n- Step 05 - Exploring Maven Further\n- Step 06 - Exploring Maven Build Lifecycle with a Spring Boot Project\n- Step 07 - How does Maven Work?\n- Step 08 - Playing with Maven Commands\n- Step 09 - How are Spring Projects Versioned?\n\n### 19. Learning Gradle with Spring and Spring Boot\n\n- Step 01 - Getting Started with Gradle\n- Step 02 - Creating a Spring Boot Project with Gradle\n- Step 03 - Exploring Gradle Build and Settings Files\n- Step 04 - Exploring Gradle Plugins for Java and Spring Boot\n- Step 05 - Maven or Gradle - Which one to use for Spring Boot Projects?\n\n### 20. Learning Docker with Spring and Spring Boot\n\n- Step 01 - Getting Started with Docker\n- Step 02 - Understanding Docker Fundamentals\n- Step 03 - Understanding How Docker Works\n- Step 04 - Understanding Docker Terminology\n- Step 05 - Creating Docker Image for a Spring Boot Project - Dockerfile\n- Step 06 - Building Spring Boot Docker Image using Multi Stage Dockerfile\n- Step 07 - Building Spring Boot Docker Image - Optimizing Dockerfile\n- Step 08 - Building Docker Image with Spring Boot Maven Plugin\n- Step 09 - Quick Review of Docker with Spring Boot\n\n\n### 21. Getting Started with Cloud and AWS\n- Step  02 - Introduction to Cloud and AWS - Advantages\n- Step  03 - Creating Your AWS Account\n- Step  04 - Creating Your First IAM User\n- Step  05 - Understanding the Need for Regions and Zones\n- Step  06 - Exploring Regions and Availability Zones in AWS\n\n### 22. Getting Started with Compute Services in AWS\n\n- Step 01 - Getting Started with EC2 - Virtual Servers in AWS\n- Step 02 - Demo - Creating Virtual Machines with Amazon EC2\n- Step 02z - Demo - Setting up a Web Server in an Amazon EC2 Instance\n- Step 03 - Quick Review of Important EC2 Concepts\n- Step 04 - Exploring IaaS vs PaaS - Cloud Computing with AWS\n- Step 05 - Getting Started with AWS Elastic Beanstalk\n- Step 06 - Demo - Setting up Web Application with AWS Elastic Beanstalk\n- Step 07 - Demo - Playing with AWS Elastic Beanstalk\n- Step 08 - Understanding the Need for Docker and Containers\n- Step 09 - Exploring Container Orchestration in AWS\n- Step 10 - Demo - Setting up ECS Cluster with AWS Fargate\n- Step 11 - Demo - Playing with Amazon ECS\n- Step 12 - Getting Started with Serverless in AWS - AWS Lambda\n- Step 13 - Demo - Creating Your First Lambda Function\n- Step 14 - Demo - Playing with Lambda Functions\n- Step 15 - Cloud Computing in AWS - Quick Review of Compute Services\n\n### 23. Deploying Spring Boot Applications to AWS\n- Step  01 - Deploying Hello World Spring Boot App to AWS\n- Step  02 - Exploring AWS Elastic Beanstalk - Your First Spring Boot App in AWS\n- Step  03 - Running Spring Boot REST API with MySQL Database as Docker Container\n- Step  04 - Deploying Spring Boot REST API with MySQL to AWS Elastic Beanstalk and RDS\n- Step  05 - Exploring AWS Elastic Beanstalk and Amazon RDS - Spring Boot REST API\n- Step  06 - Exploring Spring Boot and React Full Stack App\n- Step  07 - Deploying Full Stack Spring Boot REST API to AWS Elastic Beanstalk\n- Step  08 - Deploying Full Stack React App to Amazon S3\n\n### 24. Introduction to Functional Programming with Java\n- Step 00 - Introduction to Functional Programming - Overview\n- Step 01 - Getting Started with Functional Programming with Java\n- Step 02 - Writing Your First Java Functional Program\n- Step 03 - Improving Java Functional Program with filter\n- Step 04 - Using Lambda Expression to enhance your Functional Program\n- Step 05 - Do Functional Programming Exercises with Streams, Filters and Lambdas\n- Step 06 - Using map in Functional Programs - with Exercises\n- Step 07 - Understanding Optional class in Java\n- Step 08 - Quick Review of Functional Programming Basics\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdbytes%2Fspringmasterclass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdbytes%2Fspringmasterclass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdbytes%2Fspringmasterclass/lists"}