SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
The Spring Framework
@maxgoff
BIG SMART DATA
The Spring Framework:
BIG SMART DATA
⁻ What is Spring
⁻ Modules
⁻ Spring MVC
What is Spring?
̵ Comprehensive Programming/Config model
̵ Modern Java-based (JVM) Enterprise
̵ Focus: Lightweight & “Plumbing”
̵ Flexible Dependency Injection
̵ Infrastructure (support) for declarative:
̵ transactions
̵ caching
̵ validation
̵ formatting
BIG SMART DATA
Spring Origin: Rod Johnson (Expert One-on-One J2EE Design and Development)
What is Spring?
̵ Powerful abstractions:
̵ JDBC, JPA, JTA, JMS
̵ Support for open source frameworks:
̵ Hibernate, Quartz
̵ Flexible Web Framework for RESTful MVC
̵ Rich testing facilities
BIG SMART DATA
⁻ Modular in design
⁻ Incremental adoption
⁻ Range of deployment
platforms, such as
Tomcat & WebSphere
⁻ Citizen of major clouds
such as Heroku, VMware,
& Amazon
What is Spring?
BIG SMART DATA
• Dependency Injection
• Aspect-oriented programming
• Data access framework
• Transaction management framework
• Remote access framework
• Convention-over-configuration
• Model-view-controller framework
BIG SMART DATA
Spring Modules
• Inversion of control container
• Uses Java Reflection
• Creates managed objects (“beans”)
• Dependency Lookup
• Dependency Injection Patterns:
• Constructors
• Properties
• Factories
BIG SMART DATA
Dependency Injection
Spring Modules
BIG SMART DATA
Dependency Injection
Spring Modules
The Spring
Container
Fully
configured
system
Configuration
Metadata
Your Business
Objects
(POJOs)
produces
• AOP:
• increases modularity
• allows for separation of cross-
cutting concerns
BIG SMART DATA
Aspect-oriented framework
Spring Modules
• Resource management
• Exception handling
• Transaction participation
• Resource unwrapping
• Abstraction
BIG SMART DATA
Data access framework
Spring Modules
• Spring brings transaction abstractions:
• global, local, nested
• Platform TransactionManager
• Transaction Template
• metadata or Java annotations
BIG SMART DATA
Transaction management framework
Spring Modules
• Abstraction for various RPC technologies
BIG SMART DATA
Remote access framework
Spring Modules
Convention-over-configuration
• Spring Roo
(http://www.springsource.org/spring-roo)
• Request-based framework
• Strategy interfaces
• GOAL: Simple and clear
BIG SMART DATA
MVC Framework
Spring Modules
• Front Controller: DispatcherServlet Class
BIG SMART DATA
MVC Framework
Spring Modules
• Clear separation of roles:
Each role (controller, validator, command
object, DispatcherServlet, etc) can be fulfilled
by a specialized object
• Configuration of both framework and
application classes as JavaBeans:
BIG SMART DATA
MVC Framework
Spring Modules
• Adaptability & flexibility:
Define any controller method signature you
need, possibly using one of the parameter
annotations
• Reusable business code:
Use existing business objects as command or
form objects instead of mirroring them to
extend a particular framework base class
BIG SMART DATA
MVC Framework
Spring Modules
• Customizable binding & validation
• Customizable handler mapping & view resolution
• Flexible model transfer:
Model transfer with a name/value Map supports
easy integration with any view technology
• Customizable locale and theme resolution
• Support for JSPs with/without Spring tag library
BIG SMART DATA
MVC Framework
Spring Modules
• Support for JSTL
• Support for Velocity without the need for
extra bridges
• Spring tag library for data binding & themes
• JSP form tag library
BIG SMART DATA
MVC Framework
Spring Modules
Spring Resources
Tutorials:
Developing a Spring Framework MVC application:
http://static.springsource.org/docs/Spring-MVC-step-by-step/
Introduction to Spring Web MVC:
https://netbeans.org/kb/docs/web/quickstart-webapps-spring.html
Resources:
The Spring Framework:
http://www.springsource.org/spring-framework
Modern Web:
http://www.springsource.org/features/modern-web
NetBeans IDE:
http://netbeans.org
BIG SMART DATA
http://about.me/maxgoff
http://linkedin.com/in/maxgoff
http://bigsmartdata.com
@maxgoff
BIG SMART DATA

Contenu connexe

Tendances

Api gateway : To be or not to be
Api gateway : To be or not to beApi gateway : To be or not to be
Api gateway : To be or not to beJaewoo Ahn
 
Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry WSO2
 
WSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment PatternsWSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment PatternsWSO2
 
Reactive programming with spring web flux
Reactive programming with spring web fluxReactive programming with spring web flux
Reactive programming with spring web fluxRavindra Ranwala
 
Microservices Vienna 2015
Microservices Vienna 2015Microservices Vienna 2015
Microservices Vienna 2015Mike Bild
 
Database component in mule
Database component in muleDatabase component in mule
Database component in muleRajkattamuri
 
API and Big Data Solution Patterns
API and Big Data Solution Patterns API and Big Data Solution Patterns
API and Big Data Solution Patterns WSO2
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gatewayMohammed246
 
MuleSoft Database Connector
MuleSoft Database ConnectorMuleSoft Database Connector
MuleSoft Database Connectorkrishna2162
 
Visual Studio LightSwitch
Visual Studio LightSwitchVisual Studio LightSwitch
Visual Studio LightSwitchDanijel Malik
 
Tokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup
 
WSO2 API microgateway introduction
WSO2 API microgateway introductionWSO2 API microgateway introduction
WSO2 API microgateway introductionChanaka Fernando
 
WSO2 Product Release Webinar: WSO2 Dashboard Server 2.0
WSO2 Product Release Webinar: WSO2 Dashboard Server 2.0WSO2 Product Release Webinar: WSO2 Dashboard Server 2.0
WSO2 Product Release Webinar: WSO2 Dashboard Server 2.0WSO2
 
FusionReactor - FusionCLOUD overview
FusionReactor - FusionCLOUD overviewFusionReactor - FusionCLOUD overview
FusionReactor - FusionCLOUD overviewFusionReactor
 
FusionReactor - FusionCLOUD overview
FusionReactor  - FusionCLOUD overview FusionReactor  - FusionCLOUD overview
FusionReactor - FusionCLOUD overview David Thacker
 
Developing, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorDeveloping, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorWSO2
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost WSO2
 

Tendances (17)

Api gateway : To be or not to be
Api gateway : To be or not to beApi gateway : To be or not to be
Api gateway : To be or not to be
 
Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry
 
WSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment PatternsWSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment Patterns
 
Reactive programming with spring web flux
Reactive programming with spring web fluxReactive programming with spring web flux
Reactive programming with spring web flux
 
Microservices Vienna 2015
Microservices Vienna 2015Microservices Vienna 2015
Microservices Vienna 2015
 
Database component in mule
Database component in muleDatabase component in mule
Database component in mule
 
API and Big Data Solution Patterns
API and Big Data Solution Patterns API and Big Data Solution Patterns
API and Big Data Solution Patterns
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
MuleSoft Database Connector
MuleSoft Database ConnectorMuleSoft Database Connector
MuleSoft Database Connector
 
Visual Studio LightSwitch
Visual Studio LightSwitchVisual Studio LightSwitch
Visual Studio LightSwitch
 
Tokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - JuneTokyo Azure Meetup #6 - Azure Monthly Update - June
Tokyo Azure Meetup #6 - Azure Monthly Update - June
 
WSO2 API microgateway introduction
WSO2 API microgateway introductionWSO2 API microgateway introduction
WSO2 API microgateway introduction
 
WSO2 Product Release Webinar: WSO2 Dashboard Server 2.0
WSO2 Product Release Webinar: WSO2 Dashboard Server 2.0WSO2 Product Release Webinar: WSO2 Dashboard Server 2.0
WSO2 Product Release Webinar: WSO2 Dashboard Server 2.0
 
FusionReactor - FusionCLOUD overview
FusionReactor - FusionCLOUD overviewFusionReactor - FusionCLOUD overview
FusionReactor - FusionCLOUD overview
 
FusionReactor - FusionCLOUD overview
FusionReactor  - FusionCLOUD overview FusionReactor  - FusionCLOUD overview
FusionReactor - FusionCLOUD overview
 
Developing, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise IntegratorDeveloping, Administering and Debugging with WSO2 Enterprise Integrator
Developing, Administering and Debugging with WSO2 Enterprise Integrator
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
 

En vedette

Developing The Human Firewall
Developing The Human FirewallDeveloping The Human Firewall
Developing The Human FirewallFwintle
 
When thieves strike: Executive briefing on SWIFT attacks
When thieves strike: Executive briefing on SWIFT attacksWhen thieves strike: Executive briefing on SWIFT attacks
When thieves strike: Executive briefing on SWIFT attacksSangram Gayal
 
Cybersecurity Discipline
Cybersecurity DisciplineCybersecurity Discipline
Cybersecurity DisciplineMark Stockman
 
NextLevel Cyber Security Executive Briefing
NextLevel Cyber Security Executive BriefingNextLevel Cyber Security Executive Briefing
NextLevel Cyber Security Executive BriefingJoe Nathans
 
Intel Cyber Security Briefing at the Cyberstrat14 Security Conference in Hels...
Intel Cyber Security Briefing at the Cyberstrat14 Security Conference in Hels...Intel Cyber Security Briefing at the Cyberstrat14 Security Conference in Hels...
Intel Cyber Security Briefing at the Cyberstrat14 Security Conference in Hels...Matthew Rosenquist
 
NIST CyberSecurity Framework: An Overview
NIST CyberSecurity Framework: An OverviewNIST CyberSecurity Framework: An Overview
NIST CyberSecurity Framework: An OverviewTandhy Simanjuntak
 

En vedette (8)

Developing The Human Firewall
Developing The Human FirewallDeveloping The Human Firewall
Developing The Human Firewall
 
When thieves strike: Executive briefing on SWIFT attacks
When thieves strike: Executive briefing on SWIFT attacksWhen thieves strike: Executive briefing on SWIFT attacks
When thieves strike: Executive briefing on SWIFT attacks
 
TechCoastRodriguezFinal
TechCoastRodriguezFinalTechCoastRodriguezFinal
TechCoastRodriguezFinal
 
Cybersecurity Discipline
Cybersecurity DisciplineCybersecurity Discipline
Cybersecurity Discipline
 
NextLevel Cyber Security Executive Briefing
NextLevel Cyber Security Executive BriefingNextLevel Cyber Security Executive Briefing
NextLevel Cyber Security Executive Briefing
 
CRI Cyber Board Briefing
CRI Cyber Board Briefing CRI Cyber Board Briefing
CRI Cyber Board Briefing
 
Intel Cyber Security Briefing at the Cyberstrat14 Security Conference in Hels...
Intel Cyber Security Briefing at the Cyberstrat14 Security Conference in Hels...Intel Cyber Security Briefing at the Cyberstrat14 Security Conference in Hels...
Intel Cyber Security Briefing at the Cyberstrat14 Security Conference in Hels...
 
NIST CyberSecurity Framework: An Overview
NIST CyberSecurity Framework: An OverviewNIST CyberSecurity Framework: An Overview
NIST CyberSecurity Framework: An Overview
 

Similaire à The Spring Framework

Building cloud native data microservice
Building cloud native data microserviceBuilding cloud native data microservice
Building cloud native data microserviceNilanjan Roy
 
MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017Innovation Studio
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC vipin kumar
 
pranayJ
pranayJpranayJ
pranayJPray B
 
SQL Server 2008 Migration
SQL Server 2008 MigrationSQL Server 2008 Migration
SQL Server 2008 MigrationMark Ginnebaugh
 
MVP in Android by Ratanak
MVP in Android by RatanakMVP in Android by Ratanak
MVP in Android by Ratanakratanak pek
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworksMukesh Kumar
 
DesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationDesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationMark Ginnebaugh
 
Web tier-framework-mvc
Web tier-framework-mvcWeb tier-framework-mvc
Web tier-framework-mvcKashfUlHuda1
 
Multi client Development with Spring
Multi client Development with SpringMulti client Development with Spring
Multi client Development with SpringJoshua Long
 
MVC + ORM (with project implementation)
MVC + ORM (with project implementation)MVC + ORM (with project implementation)
MVC + ORM (with project implementation)Prateek Chauhan
 
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...Timothy McAliley
 
Convertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for EnterprisesConvertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for EnterprisesConvertigo | MADP & MBaaS
 
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 developmentClarence Ho
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVC Introduction to ASP.NET MVC
Introduction to ASP.NET MVC Joe Wilson
 

Similaire à The Spring Framework (20)

Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS MiddlewareOracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
 
Building cloud native data microservice
Building cloud native data microserviceBuilding cloud native data microservice
Building cloud native data microservice
 
MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 
pranayJ
pranayJpranayJ
pranayJ
 
Trinada pabolu profile
Trinada pabolu profileTrinada pabolu profile
Trinada pabolu profile
 
SQL Server 2008 Migration
SQL Server 2008 MigrationSQL Server 2008 Migration
SQL Server 2008 Migration
 
MVP in Android by Ratanak
MVP in Android by RatanakMVP in Android by Ratanak
MVP in Android by Ratanak
 
Cloud APIs Overview Tucker
Cloud APIs Overview   TuckerCloud APIs Overview   Tucker
Cloud APIs Overview Tucker
 
Introduction to j2 ee frameworks
Introduction to j2 ee frameworksIntroduction to j2 ee frameworks
Introduction to j2 ee frameworks
 
DesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 MigrationDesignMind SQL Server 2008 Migration
DesignMind SQL Server 2008 Migration
 
Web tier-framework-mvc
Web tier-framework-mvcWeb tier-framework-mvc
Web tier-framework-mvc
 
Multi client Development with Spring
Multi client Development with SpringMulti client Development with Spring
Multi client Development with Spring
 
MVC + ORM (with project implementation)
MVC + ORM (with project implementation)MVC + ORM (with project implementation)
MVC + ORM (with project implementation)
 
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
 
Trinada pabolu profile
Trinada pabolu profileTrinada pabolu profile
Trinada pabolu profile
 
Convertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for EnterprisesConvertigo Mobile Application Development platform for Enterprises
Convertigo Mobile Application Development platform for Enterprises
 
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
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVC Introduction to ASP.NET MVC
Introduction to ASP.NET MVC
 

Dernier

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Dernier (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

The Spring Framework

  • 2. The Spring Framework: BIG SMART DATA ⁻ What is Spring ⁻ Modules ⁻ Spring MVC
  • 3. What is Spring? ̵ Comprehensive Programming/Config model ̵ Modern Java-based (JVM) Enterprise ̵ Focus: Lightweight & “Plumbing” ̵ Flexible Dependency Injection ̵ Infrastructure (support) for declarative: ̵ transactions ̵ caching ̵ validation ̵ formatting BIG SMART DATA Spring Origin: Rod Johnson (Expert One-on-One J2EE Design and Development)
  • 4. What is Spring? ̵ Powerful abstractions: ̵ JDBC, JPA, JTA, JMS ̵ Support for open source frameworks: ̵ Hibernate, Quartz ̵ Flexible Web Framework for RESTful MVC ̵ Rich testing facilities BIG SMART DATA
  • 5. ⁻ Modular in design ⁻ Incremental adoption ⁻ Range of deployment platforms, such as Tomcat & WebSphere ⁻ Citizen of major clouds such as Heroku, VMware, & Amazon What is Spring? BIG SMART DATA
  • 6. • Dependency Injection • Aspect-oriented programming • Data access framework • Transaction management framework • Remote access framework • Convention-over-configuration • Model-view-controller framework BIG SMART DATA Spring Modules
  • 7. • Inversion of control container • Uses Java Reflection • Creates managed objects (“beans”) • Dependency Lookup • Dependency Injection Patterns: • Constructors • Properties • Factories BIG SMART DATA Dependency Injection Spring Modules
  • 8. BIG SMART DATA Dependency Injection Spring Modules The Spring Container Fully configured system Configuration Metadata Your Business Objects (POJOs) produces
  • 9. • AOP: • increases modularity • allows for separation of cross- cutting concerns BIG SMART DATA Aspect-oriented framework Spring Modules
  • 10. • Resource management • Exception handling • Transaction participation • Resource unwrapping • Abstraction BIG SMART DATA Data access framework Spring Modules
  • 11. • Spring brings transaction abstractions: • global, local, nested • Platform TransactionManager • Transaction Template • metadata or Java annotations BIG SMART DATA Transaction management framework Spring Modules
  • 12. • Abstraction for various RPC technologies BIG SMART DATA Remote access framework Spring Modules Convention-over-configuration • Spring Roo (http://www.springsource.org/spring-roo)
  • 13. • Request-based framework • Strategy interfaces • GOAL: Simple and clear BIG SMART DATA MVC Framework Spring Modules
  • 14. • Front Controller: DispatcherServlet Class BIG SMART DATA MVC Framework Spring Modules
  • 15. • Clear separation of roles: Each role (controller, validator, command object, DispatcherServlet, etc) can be fulfilled by a specialized object • Configuration of both framework and application classes as JavaBeans: BIG SMART DATA MVC Framework Spring Modules
  • 16. • Adaptability & flexibility: Define any controller method signature you need, possibly using one of the parameter annotations • Reusable business code: Use existing business objects as command or form objects instead of mirroring them to extend a particular framework base class BIG SMART DATA MVC Framework Spring Modules
  • 17. • Customizable binding & validation • Customizable handler mapping & view resolution • Flexible model transfer: Model transfer with a name/value Map supports easy integration with any view technology • Customizable locale and theme resolution • Support for JSPs with/without Spring tag library BIG SMART DATA MVC Framework Spring Modules
  • 18. • Support for JSTL • Support for Velocity without the need for extra bridges • Spring tag library for data binding & themes • JSP form tag library BIG SMART DATA MVC Framework Spring Modules
  • 19. Spring Resources Tutorials: Developing a Spring Framework MVC application: http://static.springsource.org/docs/Spring-MVC-step-by-step/ Introduction to Spring Web MVC: https://netbeans.org/kb/docs/web/quickstart-webapps-spring.html Resources: The Spring Framework: http://www.springsource.org/spring-framework Modern Web: http://www.springsource.org/features/modern-web NetBeans IDE: http://netbeans.org BIG SMART DATA