Coder Social home page Coder Social logo

fcc-spring-boot-3danvegacf's Introduction

Building web applications in Java with Spring Boot 3

This course is a beginner's step-by-step guide to developing web applications using Spring Boot, the most popular framework for building Java applications. You'll learn about Spring Boot 3 and its role in enabling developers to deliver enterprise-grade applications. We'll dive into Spring's fundamentals by creating a REST API that communicates with a database and is supported by a comprehensive suite of tests. By the end of this course you will have learned what you need to start building your own web applications with Spring Boot 3.

Agenda

  • Module 1: Course Introduction
    • Who am I?
    • Outcomes
    • Prerequisites
    • What is Spring?
  • Module 2: Create the project
    • start.spring.io
      • Java Build Tools (Maven + Gradle)
    • How to organize your code
      • Where your code should go (create a simple class)
      • No default package
    • How to run your application (IDE/Maven/Command Line)
    • Model
      • Run + Location Class
      • Records
    • Logging
    • Spring Boot DevTools
  • Module 3: Web Application (REST API)
    • Spring MVC
    • CRUD (in-memory)
    • @Component / Controller / RestController / Service / Repository
    • REST API Testing
      • Postman
      • Http Client (IntelliJ)
      • curl / HTTPie
    • Dependency Injection
    • Data Validation
    • Configuration
    • Error Handling
  • Module 4: Database
    • H2 Database
    • JDBC Client (Keep it simple)
    • Command Line Runner
      • Loading JSON data
    • Docker Compose & PostgreSQL
    • Spring Data
  • Module 5: REST Client
    • What is a client
      • Rest Template
      • WebClient
      • GraphQL Client
      • Rest Client
      • Http Interfaces
  • Module 6: Testing
    • Spring Boot Testing Toolkit
      • No need to opt in to testing
      • contextLoads() test
      • @SpringBootTest annotation
      • Documentation
    • Writing Tests
      • InMemoryRunRepositoryTest
      • RunControllerTest
      • RunControllerIntTest
    • Spring Boot Slice Tests
      • JDBCRunRepositoryTest
    • Spring Rest Client Test
      • UserRestClientTest
  • Resources

Who am I?

  • Husband + Father (2 daughters) #girldad
  • Cleveland, OH
  • Spring Developer Advocate @Broadcom
  • Java Champion
  • Spring Academy Instructor
  • 23+ years of Software Development Experience

Prerequisites

  • Java Fundamentals (Beginner - Intermediate)
  • JDK 17+
    • Check current version java --version
    • SDKMAN
  • Java Build Tools (Maven / Gradle)
  • IDE / Text Editor
  • API Testing Tool
    • Postman
    • Http Client (IntelliJ)
    • cURL / HTTPie
  • Docker Desktop

Outcomes

  • "Learn Spring"
    • What Spring is and what it can do
    • How to build a web application with Spring Boot
    • How to test a Spring Boot application
    • How to use Spring Data to interact with a database
  • What are you going to build?
    • A fitness application that allows you to track runs through a REST API

The important part here is to take what you learn and apply it to your own projects.

What is Spring?

Resources

This is a list of resources I recommend you check out to continue your learning.

Dan Vega

Spring

Documentation

Books

Podcasts

YouTube

fcc-spring-boot-3danvegacf's People

Contributors

danvega avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.