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 & “Plum...
What is Spring?
̵ Powerful abstractions:
̵ JDBC, JPA, JTA, JMS
̵ Support for open source frameworks:
̵ Hibernate, Quartz
̵...
⁻ Modular in design
⁻ Incremental adoption
⁻ Range of deployment
platforms, such as
Tomcat & WebSphere
⁻ Citizen of major ...
• Dependency Injection
• Aspect-oriented programming
• Data access framework
• Transaction management framework
• Remote a...
• Inversion of control container
• Uses Java Reflection
• Creates managed objects (“beans”)
• Dependency Lookup
• Dependen...
BIG SMART DATA
Dependency Injection
Spring Modules
The Spring
Container
Fully
configured
system
Configuration
Metadata
You...
• AOP:
• increases modularity
• allows for separation of cross-
cutting concerns
BIG SMART DATA
Aspect-oriented framework
...
• Resource management
• Exception handling
• Transaction participation
• Resource unwrapping
• Abstraction
BIG SMART DATA
...
• Spring brings transaction abstractions:
• global, local, nested
• Platform TransactionManager
• Transaction Template
• m...
• Abstraction for various RPC technologies
BIG SMART DATA
Remote access framework
Spring Modules
Convention-over-configura...
• 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...
• Adaptability & flexibility:
Define any controller method signature you
need, possibly using one of the parameter
annotat...
• Customizable binding & validation
• Customizable handler mapping & view resolution
• Flexible model transfer:
Model tran...
• Support for JSTL
• Support for Velocity without the need for
extra bridges
• Spring tag library for data binding & theme...
Spring Resources
Tutorials:
Developing a Spring Framework MVC application:
http://static.springsource.org/docs/Spring-MVC-...
http://about.me/maxgoff
http://linkedin.com/in/maxgoff
http://bigsmartdata.com
@maxgoff
BIG SMART DATA
Upcoming SlideShare
Loading in...5
×

The Spring Framework

321

Published on

A brief overview of the Spring Framework

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
321
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

The Spring Framework

  1. 1. The Spring Framework @maxgoff BIG SMART DATA
  2. 2. The Spring Framework: BIG SMART DATA ⁻ What is Spring ⁻ Modules ⁻ Spring MVC
  3. 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. 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. 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. 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. 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. 8. BIG SMART DATA Dependency Injection Spring Modules The Spring Container Fully configured system Configuration Metadata Your Business Objects (POJOs) produces
  9. 9. • AOP: • increases modularity • allows for separation of cross- cutting concerns BIG SMART DATA Aspect-oriented framework Spring Modules
  10. 10. • Resource management • Exception handling • Transaction participation • Resource unwrapping • Abstraction BIG SMART DATA Data access framework Spring Modules
  11. 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. 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. 13. • Request-based framework • Strategy interfaces • GOAL: Simple and clear BIG SMART DATA MVC Framework Spring Modules
  14. 14. • Front Controller: DispatcherServlet Class BIG SMART DATA MVC Framework Spring Modules
  15. 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. 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. 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. 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. 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
  20. 20. http://about.me/maxgoff http://linkedin.com/in/maxgoff http://bigsmartdata.com @maxgoff BIG SMART DATA
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×