Spring Boot Tutorial For Beginners
##Installing Tools
- PDF : https://github.com/in28minutes/SpringIn28Minutes/blob/master/InstallationGuide-JavaEclipseAndMaven_v2.pdf
- Video : https://www.youtube.com/watch?v=DLPjCZ5n_SM
##Course Overview
###Introduction
Spring Boot has a lot of magic going for it. Developing Services with it is cool and fun.
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. Most Spring Boot applications need very little Spring configuration.
In this course, you will learn the cool things about Spring Boot and Spring Boot Starter Projects. We will develop a basic REST Service to manage questions of a survey.
You will learn about Spring Boot step by step - in more than 25 steps. This course would be a perfect first step as an introduction to Spring Boot.
You will be using Spring Boot and get introduced to REST Services, Spring Security (Authentication and Authorization), Maven (dependencies management), Eclipse (IDE) and Tomcat Embedded Web Server. We will help you set up each one of these.
You will learn about
- Basics of Spring Boot
- Basics of Auto Configuration and Spring Boot Magic
- Spring Boot Starter Projects
- Spring Initializr
- Basic REST Services using Spring Boot Starter Web
- REST Service Content Negotiation with JSON and XML
- Embedded servlet containers : Tomcat, Jetty and Undertow
- Writing Unit and Integration tests using Spring Boot Starter Test
- Profiles and Dynamic Configuration with Spring Boot
- Spring Boot Data JPA
- Spring Boot Actuator
- Spring Security
- Spring Boot Developer Tools and LiveReload
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
With Microservices, focus is shifting to getting started with developing web applications quickly. Spring Boot enables this.
###Goals
- Provide quick start for projects with Spring.
- Be opinionated but provide options.
- Provide a range of non-functional features that are common to large classes of projects (e.g. embedded servers, security, metrics, health checks, externalized configuration).
- Absolutely no code generation and no requirement for XML configuration.
###Step List
- Step 01: Setup and Launch Spring Boot Application with Maven and Eclipse
- Step 02: Creating your first RestController
- Step 03: Understanding Spring Boot Magic : Spring Boot Starter Web
- Step 04: Understanding Spring Boot Magic : Spring Boot Starter Parent
- Step 05: Spring Boot vs Spring
- Step 06: Create all Services for Survey and Questions
- Step 07: What is REST? Creating REST Service with @GetMapping and @PathVariable
- Step 08: Second REST Service to retrieve a specific question
- Step 09: Spring Boot Developer Tools and LiveReload : Develop faster!
- Step 10: Create a REST Service to add a new question to survey : @PostMapping, Postman
- Step 11: Understand Content Negotiation. Deliver XML Responses from the REST Services
- Step 12: Spring Initializr : Create Spring Boot Projects on the fly!
- Step 13: Spring Boot Actuator : Monitor your Spring Boot applications!
- Step 14: Understanding Embedded servlet containers : Switch to Jetty or Undertow
- Step 15: Adding Dynamic Configuration to your application : YAML & More..
- Step 16: Basics of Profiles
- Step 17: Advanced Application Configuration with Type Safe Configuration Properties
- Step 18: Spring Boot Starter : Spring Data JPA with CommandLineRunner
- Step 19: In Memory Database H2 Console and add a new JPA Repository Method
- Step 20: Spring Boot Starter : Introduction to Spring Data Rest
- Step 21: Spring Boot Integration Test
- Step 22: Adding Integration Test for POST Request
- Step 23: Small Refactoring to organise ourselves
- Step 24: Writing Unit Tests with Spring Boot and Mockito
- Step 25: Writing Unit test for createTodo
- Step 26: Securing our services with Basic Authentication using Spring Security
- Step 27: Configure Spring Security user roles for survey and other services
- Step 28: A Deep Dive into Spring Boot Auto Configuration
###Expectations
- You should know Java. You should understand usage of Annotations.
- You should understand the basics of Spring framework.
- A basic understanding of JPA, Spring Security will be useful.
- You are NOT expected to have any experience with Eclipse or Maven.
- We will help you install Eclipse and get up and running with Maven.
##Let's have some fun
- What are we waiting for?
- Let's have some fun with Spring Boot in 25 Steps.
- I had fun creating this course and hope you would too.
- Thanks for your interest in Our Course
- I hope you’re as excited as I am!
- If you’re ready to learn more and sign up for the course,
- go ahead and hit that Enroll button,
- or take a test drive by using the Free Preview feature.
- See you in the course!
##About in28Minutes
- At in28Minutes, we ask ourselves one question everyday. How do we help you learn effectively - that is more quickly and retain more of what you have learnt?
- We use Problem-Solution based Step-By-Step Hands-on Approach With Practical, Real World Application Examples.
- Our success on Udemy and Youtube (2 Million Views & 12K Subscribers) speaks volumes about the success of our approach.
- While our primary expertise is on Development, Design & Architecture Java & Related Frameworks (Spring, Struts, Hibernate) we are expanding into the front-end world (Bootstrap, JQuery, Angular JS).
###Our Beliefs
- Best Courses are interactive and fun.
- Foundations for building high quality applications are best laid down while learning.
###Our Approach
- Problem Solution based Step by Step Hands-on Learning
- Practical, Real World Application Examples.
- We use 80-20 Rule. We discuss 20% things used 80% of time in depth. We touch upon other things briefly equipping you with enough knowledge to find out more on your own.
- We will be developing a demo application in the course, which could be reused in your projects, saving hours of your effort.
- We love open source and therefore, All our code is open source too and available on Github.
###Useful Links
###Other Courses
- Spring Framework
- Maven
- Eclipse
- Java
- Design Patterns
- JUnit
- C
- C Puzzles
- Javascript
- More Courses on Udemy
- Java Servlets and JSP : Your first web application in 25 Steps
- Learn Spring MVC in 25 Steps
- Learn Struts in 25 Steps
- Learn Hibernate in 25 Steps
- 10 Steps to Professional Java Developer
- Java Interview Guide
- Core Java
- Advanced Java
- Spring, Spring MVC
- Struts
- Hibernate
- Design Patterns
- 400+ Questions
- 23 Videos