
Learn Spring Boot fundamentals in module one, focusing on validation, the three-layer code base, and beans and dependency injection, to prepare for backend development in module two.
Install Java 17 on mac by choosing the Apple Silicon or Intel download, complete the installer, and verify with java -version; Java 17 is backwards compatible with Java 11.
Install Java 17 on Windows using the installer, then verify with java -version to confirm version 17, noting Java 17 is backward compatible with Java 11 projects.
Install maven on mac via homebrew, set the homebrew path in zshrc or bashrc, restart the terminal, and verify with brew version and maven help to run spring boot apps.
Install and configure Apache Maven on Windows, including downloading the binary zip, moving it to program files, updating the path to Maven bin, and verifying with the maven version command.
Launch an HTTP server using Spring Boot, then send a browser request to that server and observe its response.
Download Visual Studio Code and the Java Extension Pack to enable testing, debugging, and autocomplete for Java development.
Create a spring boot project in VS Code using the Spring Boot extension pack and Spring Initializr, set a lowercase domain-based group id, a hyphenated artifact id, and jar packaging.
Break down a Spring Boot project by exploring main/java with source code and entry point, main/resources for static, templates, and configuration, and test/java for tests.
Learn three ways to run a spring boot application—maven spring boot run, run button, and maven clean spring boot run—while identifying the runtime entry point in the application Java file.
Explore the client–server model as a browser sends an http request, an embedded Spring Boot http server handles it, and the server returns a response via IP address and port.
Launch a spring boot http server with the spring web dependency, embedding tomcat on port 8080; configure the port in application properties and serve index.html from the static folder.
Download course resources from GitHub, unzip the folder, and navigate workbooks and challenges by section, with solutions available for each workbook to help you learn.
Understand how maven dependencies move from the central maven repository to your local repository and power a Spring Boot http server.
Add the Spring Boot DevTools dependency to enable automatic restart on changes. Start with a fresh mvn clean build and run the app to see DevTools restart on updates.
Build a grade submission app using model–view–controller design, enabling new grade entries and upgrades like C- to B-, guided by Path A and Path B in VS Code.
Launch the starter project from the course resources and run the submission app. Use Maven clean Spring Boot with Def Tools, and add the time leaf dependency for HTML templates.
Spring Boot uses the model-view-controller design to separate data, the view, and the controller. The controller handles requests, fills the model, and renders the view as html.
Learn how the controller in the MVC architecture handles web requests in Spring Boot by using get mapping annotations to connect paths with handler methods and views.
Learn how the view renders the grades page by returning the grades html template from a controller mapped get request, with the model supplying data.
Focus on back end logic while managing how the provided HTML and CSS front end, given by a front end developer, is presented.
Explore how the model holds data in the Spring Boot mvc pattern, how handler methods create grade objects, store them in a model attribute, and pass data to the view.
learn how Thymeleaf merges the model with a static html view using variable expressions to display data from a grade object, and how logs guide debugging template parsing errors.
Finalize the back end by wiring Spring Boot with Thymeleaf, binding models to forms, and handling get and post requests to render and update grades in the UI.
Implement field validation to prevent submitting meaningless data and display error messages for missing name, invalid score, and absent subject.
Explore Spring Boot field validation by annotating inputs like name and subject, validating with binding results, and displaying errors through Thymeleaf in the post-request workflow.
Develop a custom constraint annotation in Spring Boot to validate a score field as a letter grade, linking to a validator and applying to fields.
Learn to split a codebase into presentation, business logic, and data access layers through a three-layer architecture, with controllers, services, and repositories handling model, view, and CRUD operations.
Move all crud operations from the controller to the repository, establishing a data access layer and implementing get grade at index, add grade, update grade, and get grades.
Refactor your code into three layers by implementing a service as the middleman between the controller and the repository, and move all business logic into the service.
Refactor your code by introducing a repository layer and a service layer, moving crud operations from the controller to the repo and centralizing business logic.
Spring Boot is the best Java framework for developing web applications. It favors convention over configuration, making it super easy to develop stand-alone, production-grade web services and APIs.
Become a Java Web Developer and Build Powerful APIs!
The Spring Boot Development Bootcamp offers support for Visual Studio Code and IntelliJ. The curriculum is as follows:
Setting up a Spring Boot Project: Create a Spring Boot Project using best practices.
Model View Controller: Build a Web application that adheres to the Model View Controller design.
Field Validation: Validate fields prior to form submission to prevent the storage of invalid data.
Three-Layer Codebase: Refactor your code to make sure it's clean and scalable.
Bean and Dependency Injection: Loosely couple your code using beans.
Testing a Spring Boot Web Application: Write unit and integration tests to verify that your application is behaving correctly.
React: Connect your Spring Boot application to a React Front-end.
REST API: Develop a REST API that can process GET / POST / PUT / DELETE operations.
OpenAPI: Document your application using the OpenAPI specification.
Exception Handling: Make your API resilient by throwing and handling unchecked exceptions inside @ControllerAdvice.
Spring Data JPA (SQL): Develop a REST API that interacts with an SQL database. Define relational tables that contain @OneToMany and @ManyToMany relationships.
Spring Boot Security: Secure your application through Basic as well as Token-based Authentication (JWT).
This is the most interactive web development course online. Every section is packed with coding exercises.
We're excited to have you on board. See you in class!