SlideShare a Scribd company logo
Overview of Spring Framework

            Rajeev Gupta
             M. Tech. CS




          rgupta.trainer@gmail.com
Objective

•   Introduction to Spring framework
•   Spring module
•   Spring architecture
•   Introduction to DI
•   Introduction to AOP



                   rgupta.trainer@gmail.com
Spring Framework
• Spring Framework is focused on simplifying
  enterprise Java development through
  1. dependency injection
  2. aspect-oriented programming
  3. boiler-plate reduction.




                   rgupta.trainer@gmail.com
Spring Modules

DAO         ORM                    JEE   Web




      AOP



                      Core




            rgupta.trainer@gmail.com
Bean
• Objects that are managed by the Spring container are
  called beans.

• A bean is an object that is instantiated, assembled, and
  otherwise managed by a Spring IoC container.

• Beans, and the dependencies among them, are reflected in
  the configuration metadata used by a container.

   – BeanFactory provides the configuration framework and basic
     functionality, and the

   – ApplicationContext adds more enterprise-specific functionality

                          rgupta.trainer@gmail.com
CORE SPRING CONTAINER
• Container manages how the beans in a Spring-enabled
  application are created, configured, and managed.

• Within this module you’ll find the Spring bean factory,
  which is the portion of Spring that provides
  dependency injection.

• In addition to the bean factory and application context,
  this module also supplies many enterprise services
  such as email, JNDI access, EJB integration, and
  scheduling.
                       rgupta.trainer@gmail.com
SPRING’S AOP MODULE
• AOP module serves as the basis for developing
  your own aspects for your Spring-enabled
  application.

• Like DI, AOP supports loose coupling of
  application objects.

• But with AOP, application-wide concerns (such as
  transactions and security) are decoupled from
  the objects to which they’re applied.

                    rgupta.trainer@gmail.com
DATA ACCESS DAO
• Spring’s template-based JDBC abstraction can greatly
  simplify JDBC code

• This module also builds a layer of meaningful exceptions on
  top of the error messages given by several database
  servers.

• Spring provide hooks into several popular ORM
  frameworks, including Hibernate, Java Persistence API, Java
  Data Objects, and iBATIS SQL Maps.

• Spring’s AOP module provide transaction management
  services for objects in a Spring application
                        rgupta.trainer@gmail.com
WEB AND REMOTING
• Spring provide capable MVC framework that promotes
  Spring’s loosely coupled techniques in the web layer of
  an application

• This framework comes in two forms:
         – a servlet-based framework
                   • for conventional web applications and
         – portlet-based application
                   • for developing against the Java portlet API.



• Spring has remoting capabilities include Remote
  Method Invocation (RMI), JAX-WS
                             rgupta.trainer@gmail.com
What is Spring?
  Spring is a container and it manages the lifecycle and
    configuration of application object i.e. called Spring
                           beans

This make spring a container running within an container
  (ie JVM or web container)

Spring is supposed to less complex framework then
  provided by framework such as EJB

Thus bean is less complex EJB!!!

                       rgupta.trainer@gmail.com
Spring as an container…




        rgupta.trainer@gmail.com
In a Spring application, objects are created, wired
  together, and live within the Spring container
                    rgupta.trainer@gmail.com
In a Spring application, objects are created, wired
  together, and live within the Spring container
                    rgupta.trainer@gmail.com
• In a Spring-based application, your application objects will live within the
  Spring container.

• Container will create the objects, wire them together, configure them, and
  manage their complete lifecycle from cradle to grave (or new to finalize(),
  as the case may be).

• The container is at the core of the Spring Framework.

• Spring’s container uses dependency injection (DI) to manage the
  components that make up an application.

• This includes creating associations between collaborating components. As
  such, these objects are cleaner and easier to understand, support reuse,
  and are easy to unit test


                               rgupta.trainer@gmail.com
Two important bean containers
• org.springframework.beans.factory.BeanFactory
• org.springframework.context.ApplicationContext




                       rgupta.trainer@gmail.com
Two type of container

• Bean factories
      • defined by the org.springframework.beans.factory.BeanFactory
        interface) are the simplest of containers.
      • Bean factories provides basic support for DI.


• Application contexts
      • defined by the org.springframework.context.ApplicationContext
        interface.
      • Application context build on the notion of a bean factory by
        providing application framework services, such as the ability to
        resolve textual messages from a properties file and the ability to
        publish application events to interested event listeners

                            rgupta.trainer@gmail.com
BeanFactory
• Factory design pattern.



BeanFactory factory =new XmlBeanFactory(new
  FileSystemResource(“e:/spring/beans.xml"));




                        rgupta.trainer@gmail.com
ApplicationContext
An application context gives more:
• Support for I18N(Internationalization) for
  messages.
• Provides generic way to load resources.
• Publish events to beans registered as events.




                   rgupta.trainer@gmail.com
ApplicationContext
• ClassPathXmlApplicationContext - XML file
  located in the classpath
• FileSystemXmlApplicationContext - XML file in
  the file system
• XmlWebApplicationContext - XML file
   contained within a web application



                   rgupta.trainer@gmail.com
ApplicationContext
• ApplicationContext context = new
  FileSystemXmlApplicationContext("c:/foo.xml");

• ApplicationContext context = new
  ClassPathXmlApplicationContext("foo.xml");




                     rgupta.trainer@gmail.com
Beans Life cycle




     rgupta.trainer@gmail.com
              Above Figure is from Spring in action book, Manning publications
ApplicationContext – Bean Life Cycle




                               Above Figure is from Spring in action book, Manning
              rgupta.trainer@gmail.com
                               publications

More Related Content

PDF
Spring Boot
PDF
Spring Framework - Core
PPTX
Introduction to Spring Framework
PDF
Spring boot introduction
PPTX
Spring boot - an introduction
PPTX
Spring boot
PPTX
Java Spring Framework
PPTX
Introduction to Spring Boot
Spring Boot
Spring Framework - Core
Introduction to Spring Framework
Spring boot introduction
Spring boot - an introduction
Spring boot
Java Spring Framework
Introduction to Spring Boot

What's hot (20)

PPTX
Introduction to spring boot
ODP
Introduction to Spring Framework and Spring IoC
PPT
Spring Boot in Action
ODP
Xke spring boot
PPTX
Spring boot
PPT
Spring introduction
PDF
REST APIs with Spring
PDF
Spring framework Introduction
PDF
Spring boot
PPTX
Spring boot Introduction
PPTX
Spring Security 5
PPT
Spring Framework
PPT
Spring Core
ODP
Spring User Guide
PPTX
Maven ppt
PPTX
Spring Boot Tutorial
PPT
Spring ppt
PPTX
Spring data jpa
PPTX
Spring Boot
PDF
Spring annotation
Introduction to spring boot
Introduction to Spring Framework and Spring IoC
Spring Boot in Action
Xke spring boot
Spring boot
Spring introduction
REST APIs with Spring
Spring framework Introduction
Spring boot
Spring boot Introduction
Spring Security 5
Spring Framework
Spring Core
Spring User Guide
Maven ppt
Spring Boot Tutorial
Spring ppt
Spring data jpa
Spring Boot
Spring annotation
Ad

Viewers also liked (6)

PDF
Introduction To Core Java - SpringPeople
PDF
SpringPeople Introduction to Spring Framework
PPTX
SpringFramework Overview
PPTX
Core java
ODP
Java Spring MVC Framework with AngularJS by Google and HTML5
PPTX
Silk Performer Presentation v1
Introduction To Core Java - SpringPeople
SpringPeople Introduction to Spring Framework
SpringFramework Overview
Core java
Java Spring MVC Framework with AngularJS by Google and HTML5
Silk Performer Presentation v1
Ad

Similar to Java spring framework (20)

PPTX
Introduction to Spring
PPT
Spring - a framework written by developers
PPTX
Spring MVC framework
PPTX
Spring framework
PPTX
Spring data jpa are used to develop spring applications
PPTX
Introduction to j2 ee frameworks
PPTX
Spring session
PPTX
Introduction to Spring & Spring BootFramework
PPTX
Spring Basics
PPTX
spring framework ppt by Rohit malav
PDF
Spring 2
PPTX
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
PPTX
Java Spring
PPTX
Java spring ppt
PDF
Spring - CDI Interop
PPTX
Spring (1)
PDF
Case Study: Migrating Hyperic from EJB to Spring from JBoss to Apache Tomcat
PPTX
Spring framework-tutorial
PPTX
Spring Framework Presantation Part 1-Core
PPT
Hybernat and structs, spring classes in mumbai
Introduction to Spring
Spring - a framework written by developers
Spring MVC framework
Spring framework
Spring data jpa are used to develop spring applications
Introduction to j2 ee frameworks
Spring session
Introduction to Spring & Spring BootFramework
Spring Basics
spring framework ppt by Rohit malav
Spring 2
Java Spring framework, Dependency Injection, DI, IoC, Inversion of Control
Java Spring
Java spring ppt
Spring - CDI Interop
Spring (1)
Case Study: Migrating Hyperic from EJB to Spring from JBoss to Apache Tomcat
Spring framework-tutorial
Spring Framework Presantation Part 1-Core
Hybernat and structs, spring classes in mumbai

More from Rajiv Gupta (18)

PDF
Spring5 hibernate5 security5 lab step by step
PDF
GOF Design pattern with java
PPTX
1. java script language fundamentals
PDF
Introduction to jsf2
PDF
Hibernate 3
PDF
Weblogic 11g admin basic with screencast
PDF
Struts2
PDF
jsf2 Notes
PDF
Java 7
PDF
Struts2 notes
PDF
Lab work servlets and jsp
PPT
Java Servlet
PDF
Spring aop with aspect j
PDF
Spring 3.0 dependancy injection
TXT
Jsp Notes
PDF
Java Logging discussion Log4j,Slf4j
TXT
Advance C++notes
PDF
Core java 5 days workshop stuff
Spring5 hibernate5 security5 lab step by step
GOF Design pattern with java
1. java script language fundamentals
Introduction to jsf2
Hibernate 3
Weblogic 11g admin basic with screencast
Struts2
jsf2 Notes
Java 7
Struts2 notes
Lab work servlets and jsp
Java Servlet
Spring aop with aspect j
Spring 3.0 dependancy injection
Jsp Notes
Java Logging discussion Log4j,Slf4j
Advance C++notes
Core java 5 days workshop stuff

Recently uploaded (20)

PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Business Ethics Teaching Materials for college
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Insiders guide to clinical Medicine.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Cell Types and Its function , kingdom of life
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Business Ethics Teaching Materials for college
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Insiders guide to clinical Medicine.pdf
Anesthesia in Laparoscopic Surgery in India
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Renaissance Architecture: A Journey from Faith to Humanism
Microbial disease of the cardiovascular and lymphatic systems
Final Presentation General Medicine 03-08-2024.pptx
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Cell Types and Its function , kingdom of life
102 student loan defaulters named and shamed – Is someone you know on the list?
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES

Java spring framework

  • 1. Overview of Spring Framework Rajeev Gupta M. Tech. CS rgupta.trainer@gmail.com
  • 2. Objective • Introduction to Spring framework • Spring module • Spring architecture • Introduction to DI • Introduction to AOP rgupta.trainer@gmail.com
  • 3. Spring Framework • Spring Framework is focused on simplifying enterprise Java development through 1. dependency injection 2. aspect-oriented programming 3. boiler-plate reduction. rgupta.trainer@gmail.com
  • 4. Spring Modules DAO ORM JEE Web AOP Core rgupta.trainer@gmail.com
  • 5. Bean • Objects that are managed by the Spring container are called beans. • A bean is an object that is instantiated, assembled, and otherwise managed by a Spring IoC container. • Beans, and the dependencies among them, are reflected in the configuration metadata used by a container. – BeanFactory provides the configuration framework and basic functionality, and the – ApplicationContext adds more enterprise-specific functionality rgupta.trainer@gmail.com
  • 6. CORE SPRING CONTAINER • Container manages how the beans in a Spring-enabled application are created, configured, and managed. • Within this module you’ll find the Spring bean factory, which is the portion of Spring that provides dependency injection. • In addition to the bean factory and application context, this module also supplies many enterprise services such as email, JNDI access, EJB integration, and scheduling. rgupta.trainer@gmail.com
  • 7. SPRING’S AOP MODULE • AOP module serves as the basis for developing your own aspects for your Spring-enabled application. • Like DI, AOP supports loose coupling of application objects. • But with AOP, application-wide concerns (such as transactions and security) are decoupled from the objects to which they’re applied. rgupta.trainer@gmail.com
  • 8. DATA ACCESS DAO • Spring’s template-based JDBC abstraction can greatly simplify JDBC code • This module also builds a layer of meaningful exceptions on top of the error messages given by several database servers. • Spring provide hooks into several popular ORM frameworks, including Hibernate, Java Persistence API, Java Data Objects, and iBATIS SQL Maps. • Spring’s AOP module provide transaction management services for objects in a Spring application rgupta.trainer@gmail.com
  • 9. WEB AND REMOTING • Spring provide capable MVC framework that promotes Spring’s loosely coupled techniques in the web layer of an application • This framework comes in two forms: – a servlet-based framework • for conventional web applications and – portlet-based application • for developing against the Java portlet API. • Spring has remoting capabilities include Remote Method Invocation (RMI), JAX-WS rgupta.trainer@gmail.com
  • 10. What is Spring? Spring is a container and it manages the lifecycle and configuration of application object i.e. called Spring beans This make spring a container running within an container (ie JVM or web container) Spring is supposed to less complex framework then provided by framework such as EJB Thus bean is less complex EJB!!! rgupta.trainer@gmail.com
  • 11. Spring as an container… rgupta.trainer@gmail.com
  • 12. In a Spring application, objects are created, wired together, and live within the Spring container rgupta.trainer@gmail.com
  • 13. In a Spring application, objects are created, wired together, and live within the Spring container rgupta.trainer@gmail.com
  • 14. • In a Spring-based application, your application objects will live within the Spring container. • Container will create the objects, wire them together, configure them, and manage their complete lifecycle from cradle to grave (or new to finalize(), as the case may be). • The container is at the core of the Spring Framework. • Spring’s container uses dependency injection (DI) to manage the components that make up an application. • This includes creating associations between collaborating components. As such, these objects are cleaner and easier to understand, support reuse, and are easy to unit test rgupta.trainer@gmail.com
  • 15. Two important bean containers • org.springframework.beans.factory.BeanFactory • org.springframework.context.ApplicationContext rgupta.trainer@gmail.com
  • 16. Two type of container • Bean factories • defined by the org.springframework.beans.factory.BeanFactory interface) are the simplest of containers. • Bean factories provides basic support for DI. • Application contexts • defined by the org.springframework.context.ApplicationContext interface. • Application context build on the notion of a bean factory by providing application framework services, such as the ability to resolve textual messages from a properties file and the ability to publish application events to interested event listeners rgupta.trainer@gmail.com
  • 17. BeanFactory • Factory design pattern. BeanFactory factory =new XmlBeanFactory(new FileSystemResource(“e:/spring/beans.xml")); rgupta.trainer@gmail.com
  • 18. ApplicationContext An application context gives more: • Support for I18N(Internationalization) for messages. • Provides generic way to load resources. • Publish events to beans registered as events. rgupta.trainer@gmail.com
  • 19. ApplicationContext • ClassPathXmlApplicationContext - XML file located in the classpath • FileSystemXmlApplicationContext - XML file in the file system • XmlWebApplicationContext - XML file contained within a web application rgupta.trainer@gmail.com
  • 20. ApplicationContext • ApplicationContext context = new FileSystemXmlApplicationContext("c:/foo.xml"); • ApplicationContext context = new ClassPathXmlApplicationContext("foo.xml"); rgupta.trainer@gmail.com
  • 21. Beans Life cycle rgupta.trainer@gmail.com Above Figure is from Spring in action book, Manning publications
  • 22. ApplicationContext – Bean Life Cycle Above Figure is from Spring in action book, Manning rgupta.trainer@gmail.com publications