
Explore how the model-view-controller architecture, or mvc, separates concerns among model, view, and controller in web and mobile apps, using a login use case to illustrate data flow.
Spring MVC uses a front controller to route requests with handler mappings and annotations, while a service layer and DAO produce a model for the view.
Install and configure the Java Development Kit (JDK), set JAVA_HOME and PATH, verify with java -version and javac, and optionally install Maven, Tomcat, and Eclipse for Spring development.
Set up the Maven environment by downloading the binary distribution, extracting it, configuring JAVA_HOME, M2_HOME, and PATH, and verifying with mvn -version.
Create a Maven spring project in Eclipse, add spring core and web mvc dependencies, configure pom properties, and set up GSP page with front controller, dispatcher servlet, and view resolver.
In step two, build a gsp page with a name field and submit button and map it to a front controller via web.xml so requests reach the controller.
Introduce the controller logic and handler mapping with annotations; build a hello world controller returning a model and view, reading a name parameter and dispatching via Spring config.
Explore tight coupling and dependency injection, using real-world analogies to show how tightly connected components drive broad changes, and how loose coupling enables flexible software design in Spring Boot projects.
Explore dependency injection by using an animal interface implemented by cat and dog, enabling loose coupling and safe constructor injection, with Spring framework managing dependencies.
Learn dependency injection with Spring by using an application context to wire beans defined in an Excel file, injecting an animal into a dog.
Learn how spring autowiring injects dependencies with setter methods, compare by name and by type, address null pointer exceptions, and use annotation-based autowiring to streamline configuration.
Learn how to use the autowire annotation in spring to inject beans by type, disambiguate with qualifiers, and compare xml vs java config for reliable dependency injection.
Create a Spring Boot project in Eclipse using the Spring Tool Suite, install the plugin from marketplace or a zip, and select Maven with jar packaging and embedded Tomcat.
Discover how a Spring Boot project manages dependencies with Maven, leveraging a parent pom to inherit versions and plugins, and build a fat jar with the Spring Boot Maven plugin.
Explore configuring a Spring Boot app with Apache Freemarker, selecting a template engine, wiring the controller, model, and view, and running the app to render input and results pages.
Explore how Springboard uses a single configuration annotation, auto-configuration, and component scan to bootstrap a Spring Boot app, then package it as a fat jar and run with java -jar.
Explore how Springboard auto-configures a standalone Spring Boot application with embedded servers using single starter dependencies, avoiding manual environment setup, and offering externalized configuration and developer tools.
The instructor asks you to rate and review this Spring MVC with Spring Boot course, sharing your learning journey and feedback on the teaching style to help others enroll.
Resolve white label error by cleaning server in the servers tab, then run the project as a Spring Boot application. Open localhost:88 in your browser to verify the app runs.
Learn to implement interceptors that run before the controller logic, after the controller logic, and after the response, with access to request and response objects for authentication and headers.
Implement a Spring MVC interceptor with HandlerInterceptor, override pre handle, post handle, and after completion, returning boolean to forward or handle, annotate as a component, and register in Java config.
Configure selective interceptors in a spring mvc project to restrict access to authenticated pages, using path patterns to activate on specific urls and display login prompts when unauthorized.
Explore Spring MVC mapping annotations, including get mapping and post mapping, through a simple t-shirt design app using model data and a template engine.
Explore how a Spring MVC app uses get mapping for the home page and post mapping for the design form, passing model attributes via Thymeleaf to capture T-shirt customizations securely.
Explore the arguments and annotations used in controller methods, including web request, locale, time zone, and session attributes. Experiment with input streams and custom domain objects to process user data.
Explore how Spring MVC returns values from controller methods using ResponseEntity to set status, headers, and body, including custom headers, and how views, models, and async returns fit into responses.
Rate and review this spring mvc with spring boot course, share what you've learned and how you connect with the teaching style, to help others decide to enroll.
Demonstrate controller annotations for request parameters, get mapping, and cookie values to read form data with required flags and default values. Also read headers for session management with cookies.
Explore how to use the model attribute annotation to populate a shared model across requests, returning a list of strings and accessing it within the controller.
Learn how Spring Boot handles exceptions by configuring application.properties to throw exceptions for missing handlers and disable default resources, using a properties file in resources and exploring externalized configuration.
Spring JDBC eliminates boilerplate by using a database template to manage connections, driver manager details, and exceptions. Focus on the insert query while the template handles resources and transactions.
Explore building a Spring MVC app without Spring Boot, wiring a data source, JDBC template, and a row mapper to fetch all students from a school database.
Connect to an external database in a Spring Boot app by adding the driver dependency, adjusting the schema, configuring connection properties, and enabling data initialization.
Explore the introduction to spring mvc with spring boot across all modules and the project.
Explore how frameworks like Hibernate and ORM tools map Java objects to relational databases, using the Java Persistence API and JDBC to simplify database interactions and transactions.
Prepare for Hibernate by installing the latest Java Development Kit, a database system, Eclipse or another IDE, and Maven; gain basic database skills and set up Hibernate libraries.
Map a persistent class to a relational table with a hibernate mapping file, linking class and field names to table columns and configuring id generation and Maven dependencies.
Create a session per database transaction using a per-database session factory configured from the configuration file; open and close the session per request; the factory is expensive but thread-safe.
Configure hibernate with a configuration file and create a decision factory and session factory. Open a session, begin a transaction to insert an employee, and commit or roll back.
Learn how standard JP annotations with Hibernate replace mapping files, map an entity class to a database table, and note when changes require reboot.
Map a one-to-many relationship in Hibernate between boss and employee using annotations, join tables, and cascading. Implement insert, update, and delete operations to observe transactional effects.
Discover the @Query annotation in Spring Data, using indexed and named parameters for native queries to fetch records (e.g., a student age 43) and return entities, collections, or streams.
Explore sorting mechanisms with method signatures and query annotations to sort students by age or name in ascending order, and implement pagination to fetch records in pages using modifying queries.
Build dynamic queries with CriteriaBuilder to fetch students by a dynamic set of names, constructing predicates and executing a CriteriaQuery against the student entity.
Spring MVC with Spring Boot is a course on learning all key spring framework features to develop robust enterprise grade web applications. And Spring Boot will make the job easy (I mean, a lot easier than one might imagine!)
Spring MVC is a collection of Spring Projects (Including Spring Web, Spring Data, Spring Security, etc) that we can use to create very robust and secure Enterprise Java Applications and follows the 'Model View Controller' design pattern. Spring MVC, relies on the core principles of Spring Framework like IOC, Dependency Injection, etc.
What is Covered in this course?
Well, this course will cover everything you need to start working on real time spring based projects. This course will also cover all the prerequisite concepts, so that you don't have to learn anything new beyond this course.
The following is the rough high level view of the content, that we will be covering in this course..
Cover prerequisite concepts
Dependency Injection
Inversion of control
Getting Started with Spring MVC
MVC Architecture
Spring MVC Architecture
Creating a Simple MVC application with spring framework
Understanding the flow of execution with a brief diagram
Comparing traditional MVC with Spring MVC
Front Controller Pattern and Dispatcher servlet
Web Application Context
Root Application Context
Spring Boot
Spring Boot Introduction
Spring Initializer
Understanding various components of Spring Boot Project
Exploring spring Boot Application
Self-contained Jars with Spring boot
Understanding Spring Boot Features (Autoconfig, Starter dependencies, etc)
Deploying a War File with Spring Boot
Embedded Servers
Interceptors
Understanding Interceptors
Interceptor Example
Restrictions
Interceptors without Spring Boot
Request Handling
Mapping Annotations
Get and Post Mapping and understanding the flow
Exploring URI Patterns
Spring Controller Arguments
Return Types
Key Annotations
@RequestParms, @GetMapping, @CookieValue
@ModelAttribute
@SessionAttributes
Forward, Redirect and Flash Attributes
Handling Exceptions
Exception Handling in Spring Application
Exception Handling in Spring Boot
Spring JDBC
Spring JDBC vs Traditional JDBC
Spring JDBC DB Access without Spring Boot
Spring JDBC with Spring Boot
Connecting External Database and performing transactions
SQL, Prepared Statement
(Pre-Requisite Chapter) Hibernate
Introduction of Hibernate
Hibernate Terminologies (Session, Session Factory, Cache, etc)
JDBC vs Hibernate
Hibernate App, theoretical walk through
Hibernate code walkthrough
Hibernate Annotations
Hibernate Auto Sync
Relations in Hibernate
Spring Data JPA
Understanding Spring Data JPA Features with Example
@Query,@NamedParams,@IndexedParams
Query Methods
Sorting,Pagination,
@Modyfying
Dynamic Queries with CriteriaBuilder
Sprig Security
Introduction to Spring Security
In Memory Data Store
JDBC Authentication
Password Encoding
CSRF Attack
Installing KeyStore for HTTPS
LDAP Integration
Sprig Boot Actuator
Introduction to Actuator
Health and Custom Health Indicators
Auto Config Conditions
Logging Endpoint
'env' Endpoint
App Metrics
Customizing Endpoints
Custom Endpoints
Other Endpoints
Sprig Boot Devtools
Devtools Introduction
Devtools Live Reload
Devtools Auto-Restart
Global settings and Property Defaults
Remote debugging
In the end, we will combine all the modules we learn and create a real time Todo application from scratch!
More content will be updated on timely basis..
Who am I?
I have well over a decade of experience (Actually 13! By the time of this writing) in the Industry and to the most part, I've work on Java and Related technologies. I've switched between many jobs, experienced many cultures and technologies and been mentoring many projects since then.
One of the things that I am absolutely passionate about, is 'Teaching'. I just love it. I can explain very complex concepts in easy to understand manner. Below are few random reviews that made my day..
Note : I did not take permission from the students to put their names. Hence I did not.
★★★★★
"In South Korea, nobody can teach like this course. Before I was very hard to understand even though having experience 10 years scalable network programming. NOT now. It's very easy to go into the Spring world step by step. I recommend it if you want to know what is spring."
★★★★★
"Instructor has great knowledge on the topics he covered."
★★★★★
"An excellent trainer.I would really to take his courses always .The trainer prepares the student to go in the market and secure a job."
★★★★★
"This course is really worth it. The tutor has ample practical knowledge and discusses about almost everything that is there to know. I am glad i took this course and would encourage any aspirant to go for it."
★★★★★
"Good, clear instructor with uncluttered focused examples - recommended."
★★★★★
On my Java course : "Liking the course so for. Very good explanation of each concepts, explaining the fundamentals on each topic, all the way till what happens in memory in each, explaining the "Why's" in the beginning of topic (which is very important to me, otherwise one would be just memorizing). I liked the author's approach to start with explaining methods and then expanding it to classes, objects and others. This course is good value for the money."
I wish you great learning!