Diagrams
Reference links
● https://spring.io/projects
● https://spring.io/projects/spring-framework
● https://spring.io/projects/spring-boot
● https://github.com/spring-projects/spring-framework
● https://github.com/spring-projects/spring-boot/tree/main/spring-boot-project
● https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot-
starters/spring-boot-starter-web/build.gradle
LIVE Notes
Day3: Spring & Spring Boot
Concepts!!!
--------------------------------
Day4 - Coding (Spring & Spring Boot)
==================
"Giving Demo"
By End of 2 Weeks, 2 demos are mandatory..
Week3 no entry
Demo1:
D1,D2:
Share screen.. explain
Concept + Coding
As if you are explaining in Interview.
Demo duration: min 30mins
Snipping tool, OBS - Video
Loud & clear
Youtube - "unlisted"..
Demo tracking form:
Submit the url
=============================
Spring & Spring Boot (Framework)
Basic terminologies
-----
• Standalone Application:
○ A software program that operates independently on a single machine without requiring
a network connection or other systems.
• Web Application:
○ A software application hosted on a server and accessible over a network (typically the
internet or an intranet). Web applications communicate via HTTP/S protocols, and users or
other systems can interact with them either through a web browser or through programmatic
interfaces like REST APIs. Which can be structured as monolithic or distributed.
-----
UI - Server - DB
UI
Server1
Server2
• Monolithic Application:
○ A single, unified application where all components (UI, business logic, data access)
are tightly integrated and deployed as one package on a single server.
• Distributed Application:
○ An application whose components run on multiple systems or servers, facilitating
interaction across a network; can include web applications, web services, and microservices.
• SOA (Service-Oriented Architecture) Application:
○ An architecture where the application is organized into reusable services that
represent business functions; these services are independent, can be combined to form
complex workflows, and typically communicate via web services (e.g., SOAP, REST). It majorly
used the concept of Service BUS, which became a pain in long run.
• Microservices Architecture:
○ A type of distributed architecture that breaks an application into small, loosely coupled
services, each focusing on a specific function and communicating over a network.
• Web Services:
○ Interfaces that enable communication between different applications or systems over
the internet, often via REST or SOAP APIs, used in web applications, distributed systems, and
microservices.
=======
How to develop these systems.. or these applications....
Framework.. Spring / Spring Boot
Types of Frameworks:
1. MVC Framework
Spring / Spring Boot
Spring framework project
Spring MVC
MVC (Model(Business + DB), View(UI), Controller)
2. Web services framework
- do not return html assets, rather return values/data
Spring / Spring Boot
Spring Framework
"Spring - web"
Spring MVC + Added capability to process API as response data.
Spring Rest
Spring MVC Rest
SOAP communication
Project "Spring Web Services"
3. DB Framework
ORM Framework - To write DB logic, Objects
Create object
delete object
update object
Object Relation Mapping
Spring / Spring Boot
JDBC Framework - SQL for DB logic
Spring / Spring Boot
spring-data-jdbc
spring-jdbc
4. JEE / Application Framework
Spring / Spring Boot
Standalone
distributed
Monolitic
SAO
Microservice
Spring: 2003-4
Spring / Spring Boot
Multiple modules for developing different types of application.
/add
3
5
"8"
======
How spring evolved..
Spring Framework
modules
Side projects
- on top of core spring framework
"Spring Boot"
many side
Refer to spring docs..
https://spring.io/
https://spring.io/projects
Open source
https://github.com/orgs/spring-projects/repositories
GitHub
Spring Boot:
RAPID APPLICATION DEVELOPMENT
all other project needs to be applied in spring boot style of programmings
Provide opinionated 'starter' dependencies to simplify your build configuration
starter-web
Search dependencies & add to project..
maven
starter-web
All the dependencies which you would need to making web application, it gives to
you...
pom.xml
mvc
dependence2
Automatically configure Spring and 3rd party libraries whenever possible
Auto Configuration