SlideShare uma empresa Scribd logo
Introduction to
Spring Framework
Framework
 What is a Framework?
 Frameworks are large prewritten code to which you add your
own code to solve a problem in a specific domain.
 You make use of a framework by calling its methods,
inheritance and supplying “call-backs” listeners.
Example - Java’s Swing and AWT classes. Those have a huge amount of code
to manage the user interface and there is inversion of control.
Spring Framework
 What is a Spring Framework?
 Spring is an open source framework created to address the
complexity of enterprise application development.
 Creates high performing, easily testable, reusable code and
handles the infrastructure so you can focus on application.
 One of the chief advantages of the Spring framework is its
layered architecture, which allows you to be selective about
which of its components you use while also providing a
cohesive framework for J2EE application development.
Features Of Spring Framework
Spring is a Framework of Frameworks
• Lightweight
• Layered Architecture
• Predefined Templates
• Fast Development
• MVC Framework
• Inversion Of Control (IOC)
• Aspect Oriented Programming (AOP)
• Data Access Framework
• JDBC Abstraction Layer
• Logging
Overview of the Spring Framework
Spring Framework Architecture
 The Spring framework is a layered architecture which
consists of several modules.
 All modules are built on the top of its core container.
 It's modular architecture enables integration with other
frameworks without much difficulties.
 Consists of around 20 modules which are generalized into
Core Container, Data Access/ Integration, Web, AOP (Aspect
Oriented Programming), Instrumentation, and Test. All the
modules have their own functionalities that are utilized to
build an application.
Spring Framework Modules
Spring Framework Modules
 Core Container
1. Spring Core: This module is the core of the Spring Framework. It
provides implementation for features like IoC (Inversion of Control)
and Dependency Injection with singleton design pattern.
2. Spring Bean: This module provides implementation for the factory
design pattern through BeanFactory.
3. Spring Context: This module is built on the solid base provided by
the Core and the Beans modules and is a medium to access any object
defined and configured.
4. Spring Expression Languages (SpEL): This module is an
extension to expression language supported by Java server pages. It
provides a powerful expression language for querying and manipulating
an object graph, at runtime.
Spring Framework Modules
 AOP Module
• Spring AOP module provides interceptors to intercept an
application, for example, when a method is executed, you
can add extra functionality before or after the method
execution.
• Spring AOP's approach to AOP differs from that of most other
AOP frameworks. The aim is to provide a close integration
between AOP implementation and Spring IoC, not to provide
the most complete AOP implementation.
Spring Framework Modules
 Spring Data Access/ Integration
i. JDBC: This module provides JDBC abstraction layer which eliminates the need
of repetitive and unnecessary exception handling overhead.
ii. ORM: ORM stands for Object Relational Mapping. This module provides
consistency/portability to our code regardless of data access technologies
based on object oriented mapping concept.
iii. OXM: OXM stands for Object XML Mappers. It is used to convert the objects
into XML format and vice versa. The Spring OXM provides an uniform API to
access any of these OXM frameworks.
iv. JMS: JMS stands for Java Messaging Service. This module contains features for
producing and consuming messages among various clients.
v. Transaction: This module supports programmatic and declarative transaction
management for classes that implement special interfaces and for all your
POJOs. All the enterprise level transaction implementation concepts can be
implemented in Spring by using this module.
Spring Framework Modules
 Web Module
• Web: This module using servlet listeners and a web-oriented application
context, provides basic web-oriented integration features and the initialization
of the IoC container.
• Web-Servlet: This module contains Model-View-Controller (MVC) based
implementation for web applications. It provides all other features of MVC,
including UI tags and data validations.
• Web-Socket: This module provides support for WebSocket based and two-
way communication between the client and the server in web applications.
• Web-Portlet: This module is also known as Spring-MVC-Portlet module. It
provides the support for Spring based Portlets and provides MVC implementation
to be used in a portlet environment.
Spring Framework Modules
 Test Module
 This module supports the testing of Spring components with
JUnit or TestNG. It provides consistent loading of
Spring ApplicationContexts and caching of those contexts.
Spring Framework Advantages
 Templates : Provides predefined templates for JDBC,
Hibernate, JPA etc., thus reducing your effort of writing too
much code.
 Loose Coupling : Because of dependency injection
feature, your code becomes loosely coupled.
 Lightweight : Works on POJOs (Plain Old Java Object) which
makes your application lightweight.
 Declarative : Programming through aspects, common
conventions and provides declarative support for
transactions, validation, caching and formatting.
Spring Framework Advantages
 Fast Development : Using Spring Framework, the
development of Java Enterprise Edition (JEE) applications
became faster.
 Strong Abstraction : It provides strong abstraction to Java
Enterprise Edition (JEE) specifications.
 Maintainability : Reusable Code and Open Source.
Eliminating boilerplate code with aspects and template.
 Testing : Testing a Spring Application is so easy for DI and no
server needs to run the application.
Key Component - IoC
Inversion Of Control
Concept of application development.
“Don't call us, we'll call you.”
Dependency Injection is form of IoC.
Key Component - DI
Dependency Injection
 The technology that actually defines spring (Heart of Spring).
 When applying DI, the objects are given their
dependencies at creation time by some external entity
that coordinates each object in the system. In other
words, dependencies are injected into objects.
 “Don't call around for your dependencies, we'll give them
to you when we need you”.
 Exist in two form:
1. Constructor Injection
2. Setter Inject
Key Component - DI
Dependency Injection
 Dependency Injection helps us to keep our classes as
independent as possible.
Increase reuse by applying low coupling.
Easy Testing.
More Understandable.
Key Component - DI
Dependency Injection
An injection is the passing of dependency (a service) to a
dependent object (a client).
Passing the service to the client, rather than allowing a client to
build or find the service, is the fundamental requirement of the
pattern.
“Dependency Injection is a pattern where the container passes
objects by name to other objects, via either constructors, properties
or factory methods.”
Key Component – DI & IoC
Relationship between DI and Inversion of Control
In software engineering, inversion of Control (IoC)
describes a design in which custom-written portions of a
computer program receive the flow of control from a
generic reusable library.
The Inversion of Control (Ioc) is a general concepts, and it can be expressed in many
different ways and dependency Injection is merely one concrete example of
Inversion of Control.
Key Component – IoC
Ioc Container
 The spring container (IoC Container) is at the core of the Spring
Framework.
 The Container will create the objects, wire them together, configure
them, and manage their complete lifecycle from creation till
destruction.

Mais conteúdo relacionado

Mais procurados

Java Spring
Java SpringJava Spring
Java Spring
AathikaJava
 
Strings in Java
Strings in Java Strings in Java
Strings in Java
Hitesh-Java
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
Dzmitry Naskou
 
Hibernate ppt
Hibernate pptHibernate ppt
Hibernate ppt
Aneega
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
Vinay Kumar
 
Java Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepJava Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By Step
Guo Albert
 
Java 8 - Features Overview
Java 8 - Features OverviewJava 8 - Features Overview
Java 8 - Features Overview
Sergii Stets
 
Spring boot
Spring bootSpring boot
Spring boot
Gyanendra Yadav
 
Streams in Java 8
Streams in Java 8Streams in Java 8
Streams in Java 8
Tobias Coetzee
 
Spring core module
Spring core moduleSpring core module
Spring core module
Raj Tomar
 
Arrays in Java
Arrays in Java Arrays in Java
Arrays in Java
Hitesh-Java
 
Spring ppt
Spring pptSpring ppt
Spring ppt
Mumbai Academisc
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
slire
 
Spring Boot
Spring BootSpring Boot
Spring Boot
HongSeong Jeon
 
JDBC – Java Database Connectivity
JDBC – Java Database ConnectivityJDBC – Java Database Connectivity
JDBC – Java Database Connectivity
Information Technology
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
Jonathan Holloway
 
Spring boot
Spring bootSpring boot
Spring boot
Pradeep Shanmugam
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Dineesha Suraweera
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
Hùng Nguyễn Huy
 
Hibernate
HibernateHibernate
Hibernate
Ajay K
 

Mais procurados (20)

Java Spring
Java SpringJava Spring
Java Spring
 
Strings in Java
Strings in Java Strings in Java
Strings in Java
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
 
Hibernate ppt
Hibernate pptHibernate ppt
Hibernate ppt
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
 
Java Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepJava Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By Step
 
Java 8 - Features Overview
Java 8 - Features OverviewJava 8 - Features Overview
Java 8 - Features Overview
 
Spring boot
Spring bootSpring boot
Spring boot
 
Streams in Java 8
Streams in Java 8Streams in Java 8
Streams in Java 8
 
Spring core module
Spring core moduleSpring core module
Spring core module
 
Arrays in Java
Arrays in Java Arrays in Java
Arrays in Java
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
JDBC – Java Database Connectivity
JDBC – Java Database ConnectivityJDBC – Java Database Connectivity
JDBC – Java Database Connectivity
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
 
Spring boot
Spring bootSpring boot
Spring boot
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
Hibernate
HibernateHibernate
Hibernate
 

Semelhante a Introduction to Spring Framework

Introduction to Spring sec1.pptx
Introduction to Spring sec1.pptxIntroduction to Spring sec1.pptx
Introduction to Spring sec1.pptx
NourhanTarek23
 
Spring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggetsSpring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggets
Virtual Nuggets
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced Java
VISHAL DONGA
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworks
Mukesh Kumar
 
Spring framework-tutorial
Spring framework-tutorialSpring framework-tutorial
Spring framework-tutorial
vinayiqbusiness
 
Spring framework
Spring frameworkSpring framework
Spring framework
Shivi Kashyap
 
Spring framework
Spring frameworkSpring framework
Spring framework
Kani Selvam
 
Spring (1)
Spring (1)Spring (1)
Spring (1)
Aneega
 
The Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksThe Power of Enterprise Java Frameworks
The Power of Enterprise Java Frameworks
Clarence Ho
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
Hamid Ghorbani
 
How Spring Framework Really Works?
How Spring Framework Really Works?How Spring Framework Really Works?
How Spring Framework Really Works?
NexSoftsys
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
Hitesh-Java
 
Session 43 - Spring - Part 1 - IoC DI Beans
Session 43 - Spring - Part 1 - IoC DI BeansSession 43 - Spring - Part 1 - IoC DI Beans
Session 43 - Spring - Part 1 - IoC DI Beans
PawanMM
 
Spring notes
Spring notesSpring notes
Spring notes
Rajeev Uppala
 
Spring 2
Spring 2Spring 2
Spring 2
Aruvi Thottlan
 
spring framework ppt by Rohit malav
spring framework ppt by Rohit malavspring framework ppt by Rohit malav
spring framework ppt by Rohit malav
Rohit malav
 
Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application development
Clarence Ho
 
Spring Framework Rohit
Spring Framework RohitSpring Framework Rohit
Spring Framework Rohit
Rohit Prabhakar
 
TheSpringFramework
TheSpringFrameworkTheSpringFramework
TheSpringFramework
Shankar Nair
 
Oleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
Oleksandr Valetskyy - Become a .NET dependency injection ninja with NinjectOleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
Oleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
Oleksandr Valetskyy
 

Semelhante a Introduction to Spring Framework (20)

Introduction to Spring sec1.pptx
Introduction to Spring sec1.pptxIntroduction to Spring sec1.pptx
Introduction to Spring sec1.pptx
 
Spring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggetsSpring Framework Tutorial | VirtualNuggets
Spring Framework Tutorial | VirtualNuggets
 
Spring Architecture | Advanced Java
Spring Architecture | Advanced JavaSpring Architecture | Advanced Java
Spring Architecture | Advanced Java
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworks
 
Spring framework-tutorial
Spring framework-tutorialSpring framework-tutorial
Spring framework-tutorial
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Spring (1)
Spring (1)Spring (1)
Spring (1)
 
The Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksThe Power of Enterprise Java Frameworks
The Power of Enterprise Java Frameworks
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
How Spring Framework Really Works?
How Spring Framework Really Works?How Spring Framework Really Works?
How Spring Framework Really Works?
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
 
Session 43 - Spring - Part 1 - IoC DI Beans
Session 43 - Spring - Part 1 - IoC DI BeansSession 43 - Spring - Part 1 - IoC DI Beans
Session 43 - Spring - Part 1 - IoC DI Beans
 
Spring notes
Spring notesSpring notes
Spring notes
 
Spring 2
Spring 2Spring 2
Spring 2
 
spring framework ppt by Rohit malav
spring framework ppt by Rohit malavspring framework ppt by Rohit malav
spring framework ppt by Rohit malav
 
Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application development
 
Spring Framework Rohit
Spring Framework RohitSpring Framework Rohit
Spring Framework Rohit
 
TheSpringFramework
TheSpringFrameworkTheSpringFramework
TheSpringFramework
 
Oleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
Oleksandr Valetskyy - Become a .NET dependency injection ninja with NinjectOleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
Oleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
 

Mais de ASG

Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by Google
ASG
 
Dependency Injection in Spring
Dependency Injection in SpringDependency Injection in Spring
Dependency Injection in Spring
ASG
 
1. Spring intro IoC
1. Spring intro IoC1. Spring intro IoC
1. Spring intro IoC
ASG
 
JSP MCQ Question with Answer
JSP MCQ Question with AnswerJSP MCQ Question with Answer
JSP MCQ Question with Answer
ASG
 
Rajshahi college (Golam Hossen)
Rajshahi college (Golam Hossen)Rajshahi college (Golam Hossen)
Rajshahi college (Golam Hossen)
ASG
 
Call center technology(She Power Project)
Call center technology(She Power Project)Call center technology(She Power Project)
Call center technology(She Power Project)
ASG
 
20th clubs joint quiz competition
20th clubs joint quiz competition20th clubs joint quiz competition
20th clubs joint quiz competition
ASG
 

Mais de ASG (7)

Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by Google
 
Dependency Injection in Spring
Dependency Injection in SpringDependency Injection in Spring
Dependency Injection in Spring
 
1. Spring intro IoC
1. Spring intro IoC1. Spring intro IoC
1. Spring intro IoC
 
JSP MCQ Question with Answer
JSP MCQ Question with AnswerJSP MCQ Question with Answer
JSP MCQ Question with Answer
 
Rajshahi college (Golam Hossen)
Rajshahi college (Golam Hossen)Rajshahi college (Golam Hossen)
Rajshahi college (Golam Hossen)
 
Call center technology(She Power Project)
Call center technology(She Power Project)Call center technology(She Power Project)
Call center technology(She Power Project)
 
20th clubs joint quiz competition
20th clubs joint quiz competition20th clubs joint quiz competition
20th clubs joint quiz competition
 

Último

Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 

Último (20)

Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 

Introduction to Spring Framework

  • 2. Framework  What is a Framework?  Frameworks are large prewritten code to which you add your own code to solve a problem in a specific domain.  You make use of a framework by calling its methods, inheritance and supplying “call-backs” listeners. Example - Java’s Swing and AWT classes. Those have a huge amount of code to manage the user interface and there is inversion of control.
  • 3. Spring Framework  What is a Spring Framework?  Spring is an open source framework created to address the complexity of enterprise application development.  Creates high performing, easily testable, reusable code and handles the infrastructure so you can focus on application.  One of the chief advantages of the Spring framework is its layered architecture, which allows you to be selective about which of its components you use while also providing a cohesive framework for J2EE application development.
  • 4. Features Of Spring Framework Spring is a Framework of Frameworks • Lightweight • Layered Architecture • Predefined Templates • Fast Development • MVC Framework • Inversion Of Control (IOC) • Aspect Oriented Programming (AOP) • Data Access Framework • JDBC Abstraction Layer • Logging
  • 5. Overview of the Spring Framework
  • 6. Spring Framework Architecture  The Spring framework is a layered architecture which consists of several modules.  All modules are built on the top of its core container.  It's modular architecture enables integration with other frameworks without much difficulties.  Consists of around 20 modules which are generalized into Core Container, Data Access/ Integration, Web, AOP (Aspect Oriented Programming), Instrumentation, and Test. All the modules have their own functionalities that are utilized to build an application.
  • 8. Spring Framework Modules  Core Container 1. Spring Core: This module is the core of the Spring Framework. It provides implementation for features like IoC (Inversion of Control) and Dependency Injection with singleton design pattern. 2. Spring Bean: This module provides implementation for the factory design pattern through BeanFactory. 3. Spring Context: This module is built on the solid base provided by the Core and the Beans modules and is a medium to access any object defined and configured. 4. Spring Expression Languages (SpEL): This module is an extension to expression language supported by Java server pages. It provides a powerful expression language for querying and manipulating an object graph, at runtime.
  • 9. Spring Framework Modules  AOP Module • Spring AOP module provides interceptors to intercept an application, for example, when a method is executed, you can add extra functionality before or after the method execution. • Spring AOP's approach to AOP differs from that of most other AOP frameworks. The aim is to provide a close integration between AOP implementation and Spring IoC, not to provide the most complete AOP implementation.
  • 10. Spring Framework Modules  Spring Data Access/ Integration i. JDBC: This module provides JDBC abstraction layer which eliminates the need of repetitive and unnecessary exception handling overhead. ii. ORM: ORM stands for Object Relational Mapping. This module provides consistency/portability to our code regardless of data access technologies based on object oriented mapping concept. iii. OXM: OXM stands for Object XML Mappers. It is used to convert the objects into XML format and vice versa. The Spring OXM provides an uniform API to access any of these OXM frameworks. iv. JMS: JMS stands for Java Messaging Service. This module contains features for producing and consuming messages among various clients. v. Transaction: This module supports programmatic and declarative transaction management for classes that implement special interfaces and for all your POJOs. All the enterprise level transaction implementation concepts can be implemented in Spring by using this module.
  • 11. Spring Framework Modules  Web Module • Web: This module using servlet listeners and a web-oriented application context, provides basic web-oriented integration features and the initialization of the IoC container. • Web-Servlet: This module contains Model-View-Controller (MVC) based implementation for web applications. It provides all other features of MVC, including UI tags and data validations. • Web-Socket: This module provides support for WebSocket based and two- way communication between the client and the server in web applications. • Web-Portlet: This module is also known as Spring-MVC-Portlet module. It provides the support for Spring based Portlets and provides MVC implementation to be used in a portlet environment.
  • 12. Spring Framework Modules  Test Module  This module supports the testing of Spring components with JUnit or TestNG. It provides consistent loading of Spring ApplicationContexts and caching of those contexts.
  • 13. Spring Framework Advantages  Templates : Provides predefined templates for JDBC, Hibernate, JPA etc., thus reducing your effort of writing too much code.  Loose Coupling : Because of dependency injection feature, your code becomes loosely coupled.  Lightweight : Works on POJOs (Plain Old Java Object) which makes your application lightweight.  Declarative : Programming through aspects, common conventions and provides declarative support for transactions, validation, caching and formatting.
  • 14. Spring Framework Advantages  Fast Development : Using Spring Framework, the development of Java Enterprise Edition (JEE) applications became faster.  Strong Abstraction : It provides strong abstraction to Java Enterprise Edition (JEE) specifications.  Maintainability : Reusable Code and Open Source. Eliminating boilerplate code with aspects and template.  Testing : Testing a Spring Application is so easy for DI and no server needs to run the application.
  • 15. Key Component - IoC Inversion Of Control Concept of application development. “Don't call us, we'll call you.” Dependency Injection is form of IoC.
  • 16. Key Component - DI Dependency Injection  The technology that actually defines spring (Heart of Spring).  When applying DI, the objects are given their dependencies at creation time by some external entity that coordinates each object in the system. In other words, dependencies are injected into objects.  “Don't call around for your dependencies, we'll give them to you when we need you”.  Exist in two form: 1. Constructor Injection 2. Setter Inject
  • 17. Key Component - DI Dependency Injection  Dependency Injection helps us to keep our classes as independent as possible. Increase reuse by applying low coupling. Easy Testing. More Understandable.
  • 18. Key Component - DI Dependency Injection An injection is the passing of dependency (a service) to a dependent object (a client). Passing the service to the client, rather than allowing a client to build or find the service, is the fundamental requirement of the pattern. “Dependency Injection is a pattern where the container passes objects by name to other objects, via either constructors, properties or factory methods.”
  • 19. Key Component – DI & IoC Relationship between DI and Inversion of Control In software engineering, inversion of Control (IoC) describes a design in which custom-written portions of a computer program receive the flow of control from a generic reusable library. The Inversion of Control (Ioc) is a general concepts, and it can be expressed in many different ways and dependency Injection is merely one concrete example of Inversion of Control.
  • 20. Key Component – IoC Ioc Container  The spring container (IoC Container) is at the core of the Spring Framework.  The Container will create the objects, wire them together, configure them, and manage their complete lifecycle from creation till destruction.