Diagrams
Reference links
● [Link]
● [Link]
● [Link]
● [Link]
● [Link]
● [Link]
starters/spring-boot-starter-web/[Link]
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..
[Link]
[Link]
Open source
[Link]
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...
[Link]
mvc
dependence2
Automatically configure Spring and 3rd party libraries whenever possible
Auto Configuration