SlideShare a Scribd company logo
Presented By
Suman Behara
Java Developer
Agenda Overview:
•   What is Spring ?
•   History of Spring
•   Features of Spring
•   Why Spring ?
•   What does Spring offer?
•   Goal of Spring
•   Modules of Spring
•   Types of layers
•   Application Layering
•   Where to use Spring ?
•   Conclusion
What is Spring:

What is Spring:
• Spring is an open source framework created to address the
  complexity of enterprise application development

• 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.

• It makes the application easy to configure and reduces the
  need for many J2EE design patterns. Spring can be used to
  configure declarative transaction management
History of Spring :
• The first version of Spring Framework was developed by
  Rod Johnson. It's first version was released with the
  publication of the book Expert One-on-One J2EE
  Design and Development in the October 2002.
• Year 2002, Rod Johnson release it's first version
• March 2004, first version release under Apache 2.0
  license
• In Year 2004 and 2005 further milestone release was
  make available to the developers
• Year 2006 Spring 1.2.6 released
• In December 2009, version 3.0 GA was released
• June 15, 2010, Spring 3.0.3 released
• Dec 12th,2011, Spring 3.1.0 GA was released
• Sep 10th,2012, Spring 3.2 M2 released
Features of Spring :
•   Spring is Lightweight container
•   No App Server Dependent – like EJB JNDI Calls
•   Objects are created Lazily , Singleton - configuration
•   Components can added Declaratively
•   Initialization of properties is easy – no need to read from properties
    file
•   Declarative transaction, security and logging service – AOP
•   application code is much easier to unit test
•   With a Dependency Injection approach, dependencies are explicit,
    and evident in constructor or JavaBeans properties
•   Spring's configuration management services can be used in any
    architectural layer, in whatever runtime environment.
•   Spring can effectively organize your middle tier objects
•   Not required special deployment steps
Why Spring :
• The Spring Framework was developed to ease the development of
  Enterprise Java applications
• Reducing the writing code while development application.
• Easy to integrate with any existing framework
• Needed a solution to loosely couple business logic in a POJO
  fashion.
• Wanted to build portable applications that provided clearer
  separation of presentation, business, and persistence logic.
• Simplify use of popular technologies
     handle common error conditions
• Well designed
   ▫ Easy to extend
   ▫ Many reusable classes
Simplify your code with Spring :
• Enables you to stop polluting code
• No more custom singleton objects
  ▫ Beans are defined in a centralized configuration file
• No more custom factory object to build and/or locate other objects
• DAO simplification
  ▫ Consistent CRUD
  ▫ Data access templates
  ▫ No more copy-paste try/catch/finally blocks
  ▫ No more passing Connection objects between methods
  ▫ No more leaked connections
• POJO Based
• Refactoring experience with Spring
• Caution Spring is addictive!
What does Spring offer?
• Dependency Injection
 ▫ Also known as IoC (Inversion of Control)
• Aspect Oriented Programming
 ▫ Runtime injection-based
• Portable Service Abstractions
 ▫ The rest of spring
    ORM, DAO, Web MVC, Web, etc.
    Allows access to these without knowing how they
     actually work
• Spring Security
Modules of Spring :
Spring is Non-Invasive :
• What does that mean ?
    You are not forced to import or extend any spring APIs
Anti-Patterns
• EJB force you to use JNDI
• Struts force you to extend Action, ActionSupport
• Invasive frameworks are inheritently difficult to
  test(especially unit test)
• You to stub the runtime that is supplied by the
  application server.
Layer’s are 4 types:
1.Presentation or UI (User Interface) Layer
     (Struts/Jsps/JSF/Velocity etc.)
2.Bussiness or Service Layer
   (Servlets/EJB/Spring)
3. Data Access Layer or Persistence layer (ORM’s or JDBC)
    (Hibernate/JPA/Ibaties/Toplink etc.)
4. Data Layer (Database)
    (MySql/Oracle/IBM DB2/Postgress/Ingress/
     SQL Server etc.)
Application Layering :
• A clear separation of application component responsibility.
  ▫ Presentation layer
        Concentrates on request/response actions
        Handles UI rendering from a model.
        Contains formatting logic and non-business related validation logic.
        Handles exceptions thrown from other layers
  ▫ Persistence layer
        Used to communicate with a persistence store such as a relational database.
        Provides a query language
        Possible O/R mapping capabilities
        JDBC, Hibernate, iBATIS, JDO, Entity Beans, etc.
  ▫ Domain layer
        Contains business objects that are used across above layers.
        Contain complex relationships between other domain objects
        May be rich in business logic
        May have ORM mappings
        Domain objects should only have dependencies on other domain objects
What about a Service Layer?




•Where do we position loosely-coupled business logic?
• What is service logic?
• How should container level services be implemented?
• How do we support transactions in a POJO based application?
• How do we communicate from our presentation layer to our persistence layer?
• How do we get to services that contain business logic?
• How should our business objects communicate with our persistence layer?
• How do we get objects retrieved from our persistence layer to our UI layer?
Application Layering (cont):
▫ Service layer
   Gateway to expose business logic to the
    outside world
   Manages ‘container level services’ such as
    transactions, security, data access logic, and
    manipulates domain objects
   Not well defined in many applications today
    or tightly coupled in an inappropriate layer.
Layered Architecture :
Such a combination allows the development of you web applications
with maximal of flexibility and minimal effort
More Application Layering Combinations :

Presentation/Business/Persistence
• Struts+Spring+Hibernate
• Struts +Spring + EJB
• JSF+ Spring + JPA/ iBATIS
• Spring + Spring + JDO
• Flex + Spring + Hibernate
• Struts + Spring + JDBC
• You decide…
Conclusion :

• Layered architecture application development is Long
  life with strong flexibility.
• Migrating from an any framework is very easy in future.
• Technology independent application development is
  providing loose coupling and portability, that supports
  spring.
Resources :
•   http://www.springsource.org/
•   http://www.interface21.com/
•   Reference Manual of Spring
•   http://static.springsource.org/spring/docs/3.0.x
    /spring-framework-reference/html/
Spring Books :

• Spring in Action –by Craig walls and Ryan Bredenbach
• Pro Spring-by Rob Harrop and Jan Machacek
• J2EE Without EJB-by Rod Johnson and Juergen Holler
• Expert One-on-One J2EE Design and Development- by Rod
  Johnson
• Spring Developers Notebook- by Bruce tate and justin Gehtland
• Spring Live- by matt Raible
• Professional Java development With the Spring Framework –Rod &
  others
Thank U….!
Ad

More Related Content

What's hot (20)

Websphere Portal
Websphere PortalWebsphere Portal
Websphere Portal
dominion
 
Spring framework Introduction
Spring framework  IntroductionSpring framework  Introduction
Spring framework Introduction
Anuj Singh Rajput
 
COBOL deployment to .Net or JVM - Developer Day
COBOL deployment to .Net or JVM - Developer DayCOBOL deployment to .Net or JVM - Developer Day
COBOL deployment to .Net or JVM - Developer Day
Micro Focus
 
Open Source & Identity Management
Open Source & Identity ManagementOpen Source & Identity Management
Open Source & Identity Management
JISC Netskills
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
Vincent Perrin
 
Java Online Training
Java Online TrainingJava Online Training
Java Online Training
Nagendra Kumar
 
Ravi Kiran Resume
Ravi Kiran ResumeRavi Kiran Resume
Ravi Kiran Resume
Ravikiran vadla
 
WebSphere Portal Technical Overview
WebSphere Portal Technical OverviewWebSphere Portal Technical Overview
WebSphere Portal Technical Overview
Vincent Perrin
 
Java J2EE Complete Syllabus Checklist
Java J2EE Complete Syllabus ChecklistJava J2EE Complete Syllabus Checklist
Java J2EE Complete Syllabus Checklist
Sunil Kumar Gunasekaran
 
Open Source Identity Management
Open Source Identity ManagementOpen Source Identity Management
Open Source Identity Management
Radovan Semancik
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Chris Muir
 
J2EE Introduction
J2EE IntroductionJ2EE Introduction
J2EE Introduction
Patroklos Papapetrou (Pat)
 
Integrating IBM Web Sphere Portal With Web Analytic Hosted And Non Hosted Sit...
Integrating IBM Web Sphere Portal With Web Analytic Hosted And Non Hosted Sit...Integrating IBM Web Sphere Portal With Web Analytic Hosted And Non Hosted Sit...
Integrating IBM Web Sphere Portal With Web Analytic Hosted And Non Hosted Sit...
Chris Sparshott
 
Using Liferay Portal with LDAP and Single sign-on
Using Liferay Portal with LDAP and Single sign-onUsing Liferay Portal with LDAP and Single sign-on
Using Liferay Portal with LDAP and Single sign-on
Firelay
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Spring
ifnu bima
 
DEV-1467 - Darwino
DEV-1467 - DarwinoDEV-1467 - Darwino
DEV-1467 - Darwino
Jesse Gallagher
 
Software development training for technical recruiters
Software development training for technical recruitersSoftware development training for technical recruiters
Software development training for technical recruiters
Obi Mba Ogbanufe
 
WebSphere Portal Business Overview
WebSphere Portal Business OverviewWebSphere Portal Business Overview
WebSphere Portal Business Overview
Joel Demay
 
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
mfrancis
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business Overview
Nick Davis
 
Websphere Portal
Websphere PortalWebsphere Portal
Websphere Portal
dominion
 
Spring framework Introduction
Spring framework  IntroductionSpring framework  Introduction
Spring framework Introduction
Anuj Singh Rajput
 
COBOL deployment to .Net or JVM - Developer Day
COBOL deployment to .Net or JVM - Developer DayCOBOL deployment to .Net or JVM - Developer Day
COBOL deployment to .Net or JVM - Developer Day
Micro Focus
 
Open Source & Identity Management
Open Source & Identity ManagementOpen Source & Identity Management
Open Source & Identity Management
JISC Netskills
 
WebSphere Portal Technical Overview
WebSphere Portal Technical OverviewWebSphere Portal Technical Overview
WebSphere Portal Technical Overview
Vincent Perrin
 
Open Source Identity Management
Open Source Identity ManagementOpen Source Identity Management
Open Source Identity Management
Radovan Semancik
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Chris Muir
 
Integrating IBM Web Sphere Portal With Web Analytic Hosted And Non Hosted Sit...
Integrating IBM Web Sphere Portal With Web Analytic Hosted And Non Hosted Sit...Integrating IBM Web Sphere Portal With Web Analytic Hosted And Non Hosted Sit...
Integrating IBM Web Sphere Portal With Web Analytic Hosted And Non Hosted Sit...
Chris Sparshott
 
Using Liferay Portal with LDAP and Single sign-on
Using Liferay Portal with LDAP and Single sign-onUsing Liferay Portal with LDAP and Single sign-on
Using Liferay Portal with LDAP and Single sign-on
Firelay
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Spring
ifnu bima
 
Software development training for technical recruiters
Software development training for technical recruitersSoftware development training for technical recruiters
Software development training for technical recruiters
Obi Mba Ogbanufe
 
WebSphere Portal Business Overview
WebSphere Portal Business OverviewWebSphere Portal Business Overview
WebSphere Portal Business Overview
Joel Demay
 
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
mfrancis
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business Overview
Nick Davis
 

Similar to Spring (20)

spring
springspring
spring
Suman Behara
 
Java Spring
Java SpringJava Spring
Java Spring
AathikaJava
 
Introduction to Spring & Spring BootFramework
Introduction to Spring  & Spring BootFrameworkIntroduction to Spring  & Spring BootFramework
Introduction to Spring & Spring BootFramework
Kongu Engineering College, Perundurai, Erode
 
Spring ppt
Spring pptSpring ppt
Spring ppt
Mumbai Academisc
 
Spring Framework Rohit
Spring Framework RohitSpring Framework Rohit
Spring Framework Rohit
Rohit Prabhakar
 
Spring introduction
Spring introductionSpring introduction
Spring introduction
Manav Prasad
 
Spring intro classes-in-mumbai
Spring intro classes-in-mumbaiSpring intro classes-in-mumbai
Spring intro classes-in-mumbai
vibrantuser
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
Willy Aguirre
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
Willy Aguirre
 
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
 
Learn spring at amc square learning
Learn spring at amc square learningLearn spring at amc square learning
Learn spring at amc square learning
ASIT Education
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworks
Mukesh Kumar
 
Spring - a framework written by developers
Spring - a framework written by developersSpring - a framework written by developers
Spring - a framework written by developers
MarcioSoaresPereira1
 
unit_1_spring_1.pptxfgfgggjffgggddddgggg
unit_1_spring_1.pptxfgfgggjffgggddddggggunit_1_spring_1.pptxfgfgggjffgggddddgggg
unit_1_spring_1.pptxfgfgggjffgggddddgggg
zmulani8
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
Adam Mokan
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
Julien Dubois
 
Spring framework
Spring frameworkSpring framework
Spring framework
baabtra.com - No. 1 supplier of quality freshers
 
Resume
ResumeResume
Resume
Venkat Pacharla
 
1. Spring intro IoC
1. Spring intro IoC1. Spring intro IoC
1. Spring intro IoC
ASG
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Hùng Nguyễn Huy
 
Spring introduction
Spring introductionSpring introduction
Spring introduction
Manav Prasad
 
Spring intro classes-in-mumbai
Spring intro classes-in-mumbaiSpring intro classes-in-mumbai
Spring intro classes-in-mumbai
vibrantuser
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
Willy Aguirre
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
Willy Aguirre
 
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
 
Learn spring at amc square learning
Learn spring at amc square learningLearn spring at amc square learning
Learn spring at amc square learning
ASIT Education
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworks
Mukesh Kumar
 
Spring - a framework written by developers
Spring - a framework written by developersSpring - a framework written by developers
Spring - a framework written by developers
MarcioSoaresPereira1
 
unit_1_spring_1.pptxfgfgggjffgggddddgggg
unit_1_spring_1.pptxfgfgggjffgggddddggggunit_1_spring_1.pptxfgfgggjffgggddddgggg
unit_1_spring_1.pptxfgfgggjffgggddddgggg
zmulani8
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
Adam Mokan
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
Julien Dubois
 
1. Spring intro IoC
1. Spring intro IoC1. Spring intro IoC
1. Spring intro IoC
ASG
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Hùng Nguyễn Huy
 
Ad

Recently uploaded (20)

Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Ad

Spring

  • 2. Agenda Overview: • What is Spring ? • History of Spring • Features of Spring • Why Spring ? • What does Spring offer? • Goal of Spring • Modules of Spring • Types of layers • Application Layering • Where to use Spring ? • Conclusion
  • 3. What is Spring: What is Spring: • Spring is an open source framework created to address the complexity of enterprise application development • 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. • It makes the application easy to configure and reduces the need for many J2EE design patterns. Spring can be used to configure declarative transaction management
  • 4. History of Spring : • The first version of Spring Framework was developed by Rod Johnson. It's first version was released with the publication of the book Expert One-on-One J2EE Design and Development in the October 2002. • Year 2002, Rod Johnson release it's first version • March 2004, first version release under Apache 2.0 license • In Year 2004 and 2005 further milestone release was make available to the developers • Year 2006 Spring 1.2.6 released • In December 2009, version 3.0 GA was released • June 15, 2010, Spring 3.0.3 released • Dec 12th,2011, Spring 3.1.0 GA was released • Sep 10th,2012, Spring 3.2 M2 released
  • 5. Features of Spring : • Spring is Lightweight container • No App Server Dependent – like EJB JNDI Calls • Objects are created Lazily , Singleton - configuration • Components can added Declaratively • Initialization of properties is easy – no need to read from properties file • Declarative transaction, security and logging service – AOP • application code is much easier to unit test • With a Dependency Injection approach, dependencies are explicit, and evident in constructor or JavaBeans properties • Spring's configuration management services can be used in any architectural layer, in whatever runtime environment. • Spring can effectively organize your middle tier objects • Not required special deployment steps
  • 6. Why Spring : • The Spring Framework was developed to ease the development of Enterprise Java applications • Reducing the writing code while development application. • Easy to integrate with any existing framework • Needed a solution to loosely couple business logic in a POJO fashion. • Wanted to build portable applications that provided clearer separation of presentation, business, and persistence logic. • Simplify use of popular technologies handle common error conditions • Well designed ▫ Easy to extend ▫ Many reusable classes
  • 7. Simplify your code with Spring : • Enables you to stop polluting code • No more custom singleton objects ▫ Beans are defined in a centralized configuration file • No more custom factory object to build and/or locate other objects • DAO simplification ▫ Consistent CRUD ▫ Data access templates ▫ No more copy-paste try/catch/finally blocks ▫ No more passing Connection objects between methods ▫ No more leaked connections • POJO Based • Refactoring experience with Spring • Caution Spring is addictive!
  • 8. What does Spring offer? • Dependency Injection ▫ Also known as IoC (Inversion of Control) • Aspect Oriented Programming ▫ Runtime injection-based • Portable Service Abstractions ▫ The rest of spring  ORM, DAO, Web MVC, Web, etc.  Allows access to these without knowing how they actually work • Spring Security
  • 10. Spring is Non-Invasive : • What does that mean ? You are not forced to import or extend any spring APIs Anti-Patterns • EJB force you to use JNDI • Struts force you to extend Action, ActionSupport • Invasive frameworks are inheritently difficult to test(especially unit test) • You to stub the runtime that is supplied by the application server.
  • 11. Layer’s are 4 types: 1.Presentation or UI (User Interface) Layer (Struts/Jsps/JSF/Velocity etc.) 2.Bussiness or Service Layer (Servlets/EJB/Spring) 3. Data Access Layer or Persistence layer (ORM’s or JDBC) (Hibernate/JPA/Ibaties/Toplink etc.) 4. Data Layer (Database) (MySql/Oracle/IBM DB2/Postgress/Ingress/ SQL Server etc.)
  • 12. Application Layering : • A clear separation of application component responsibility. ▫ Presentation layer  Concentrates on request/response actions  Handles UI rendering from a model.  Contains formatting logic and non-business related validation logic.  Handles exceptions thrown from other layers ▫ Persistence layer  Used to communicate with a persistence store such as a relational database.  Provides a query language  Possible O/R mapping capabilities  JDBC, Hibernate, iBATIS, JDO, Entity Beans, etc. ▫ Domain layer  Contains business objects that are used across above layers.  Contain complex relationships between other domain objects  May be rich in business logic  May have ORM mappings  Domain objects should only have dependencies on other domain objects
  • 13. What about a Service Layer? •Where do we position loosely-coupled business logic? • What is service logic? • How should container level services be implemented? • How do we support transactions in a POJO based application? • How do we communicate from our presentation layer to our persistence layer? • How do we get to services that contain business logic? • How should our business objects communicate with our persistence layer? • How do we get objects retrieved from our persistence layer to our UI layer?
  • 14. Application Layering (cont): ▫ Service layer  Gateway to expose business logic to the outside world  Manages ‘container level services’ such as transactions, security, data access logic, and manipulates domain objects  Not well defined in many applications today or tightly coupled in an inappropriate layer.
  • 16. Such a combination allows the development of you web applications with maximal of flexibility and minimal effort
  • 17. More Application Layering Combinations : Presentation/Business/Persistence • Struts+Spring+Hibernate • Struts +Spring + EJB • JSF+ Spring + JPA/ iBATIS • Spring + Spring + JDO • Flex + Spring + Hibernate • Struts + Spring + JDBC • You decide…
  • 18. Conclusion : • Layered architecture application development is Long life with strong flexibility. • Migrating from an any framework is very easy in future. • Technology independent application development is providing loose coupling and portability, that supports spring.
  • 19. Resources : • http://www.springsource.org/ • http://www.interface21.com/ • Reference Manual of Spring • http://static.springsource.org/spring/docs/3.0.x /spring-framework-reference/html/
  • 20. Spring Books : • Spring in Action –by Craig walls and Ryan Bredenbach • Pro Spring-by Rob Harrop and Jan Machacek • J2EE Without EJB-by Rod Johnson and Juergen Holler • Expert One-on-One J2EE Design and Development- by Rod Johnson • Spring Developers Notebook- by Bruce tate and justin Gehtland • Spring Live- by matt Raible • Professional Java development With the Spring Framework –Rod & others