SlideShare a Scribd company logo
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

More Related Content

PDF
Application development using the wso2 developer studio
PDF
Elastic and Cloud-ready Applications with Payara Micro
PPTX
Service oriented online architecture using mule
PDF
Introduction to the All New WSO2 Governance Centre
PDF
Weblogic introduction
PDF
Building Services with WSO2 Microservices Framework for Java
PDF
Exploring a Real World Use Case
PDF
Android Data Binding Support Library
Application development using the wso2 developer studio
Elastic and Cloud-ready Applications with Payara Micro
Service oriented online architecture using mule
Introduction to the All New WSO2 Governance Centre
Weblogic introduction
Building Services with WSO2 Microservices Framework for Java
Exploring a Real World Use Case
Android Data Binding Support Library

What's hot (17)

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

Viewers also liked (8)

PDF
Developing The Human Firewall
PDF
When thieves strike: Executive briefing on SWIFT attacks
PDF
TechCoastRodriguezFinal
PPTX
Cybersecurity Discipline
PDF
NextLevel Cyber Security Executive Briefing
PPTX
CRI Cyber Board Briefing
PDF
Intel Cyber Security Briefing at the Cyberstrat14 Security Conference in Hels...
PPTX
NIST CyberSecurity Framework: An Overview
Developing The Human Firewall
When thieves strike: Executive briefing on SWIFT attacks
TechCoastRodriguezFinal
Cybersecurity Discipline
NextLevel Cyber Security Executive Briefing
CRI Cyber Board Briefing
Intel Cyber Security Briefing at the Cyberstrat14 Security Conference in Hels...
NIST CyberSecurity Framework: An Overview
Ad

Similar to The Spring Framework (20)

PPTX
Spring tutorials
PPTX
Spring Framework Rohit
ODP
Spring Mvc,Java, Spring
PDF
Getting Started with Spring Framework
PPTX
Webinar: Spring Framework - Introduction to Spring WebMVC & Spring with BigData
PPTX
Building enterprise web applications with spring 3
PPTX
spring framework ppt by Rohit malav
PPTX
How Spring Framework Really Works?
PPT
Spring Framework
PPTX
Java Spring Framework
ODP
Java Spring MVC Framework with AngularJS by Google and HTML5
ODP
springmvc-150923124312-lva1-app6892
PPTX
Spring framework Introduction
PPTX
Spring
PPTX
Introduction to j2 ee frameworks
PPTX
Spring 4 en spring data
PPTX
Spring framework-tutorial
PDF
Spring Mvc
PDF
Spring presentecion isil
PDF
Spring presentecion isil
Spring tutorials
Spring Framework Rohit
Spring Mvc,Java, Spring
Getting Started with Spring Framework
Webinar: Spring Framework - Introduction to Spring WebMVC & Spring with BigData
Building enterprise web applications with spring 3
spring framework ppt by Rohit malav
How Spring Framework Really Works?
Spring Framework
Java Spring Framework
Java Spring MVC Framework with AngularJS by Google and HTML5
springmvc-150923124312-lva1-app6892
Spring framework Introduction
Spring
Introduction to j2 ee frameworks
Spring 4 en spring data
Spring framework-tutorial
Spring Mvc
Spring presentecion isil
Spring presentecion isil

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Empathic Computing: Creating Shared Understanding
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Cloud computing and distributed systems.
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Machine learning based COVID-19 study performance prediction
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Approach and Philosophy of On baking technology
PDF
cuic standard and advanced reporting.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
KodekX | Application Modernization Development
MYSQL Presentation for SQL database connectivity
Empathic Computing: Creating Shared Understanding
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Cloud computing and distributed systems.
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
“AI and Expert System Decision Support & Business Intelligence Systems”
sap open course for s4hana steps from ECC to s4
Machine learning based COVID-19 study performance prediction
Diabetes mellitus diagnosis method based random forest with bat algorithm
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Advanced methodologies resolving dimensionality complications for autism neur...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation_ Review paper, used for researhc scholars
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Approach and Philosophy of On baking technology
cuic standard and advanced reporting.pdf
Review of recent advances in non-invasive hemoglobin estimation
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development

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