Java spring framework


Published on

Spring 3.0 framework Introduction

Published in: Education
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Java spring framework

  1. 1. Overview of Spring Framework Rajeev Gupta M. Tech. CS
  2. 2. Objective• Introduction to Spring framework• Spring module• Spring architecture• Introduction to DI• Introduction to AOP
  3. 3. Spring Framework• Spring Framework is focused on simplifying enterprise Java development through 1. dependency injection 2. aspect-oriented programming 3. boiler-plate reduction.
  4. 4. Spring ModulesDAO ORM JEE Web AOP Core
  5. 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
  6. 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.
  7. 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.
  8. 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
  9. 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
  10. 10. What is Spring? Spring is a container and it manages the lifecycle and configuration of application object i.e. called Spring beansThis 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 EJBThus bean is less complex EJB!!!
  11. 11. Spring as an container…
  12. 12. In a Spring application, objects are created, wired together, and live within the Spring container
  13. 13. In a Spring application, objects are created, wired together, and live within the Spring container
  14. 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
  15. 15. Two important bean containers• org.springframework.beans.factory.BeanFactory• org.springframework.context.ApplicationContext
  16. 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
  17. 17. BeanFactory• Factory design pattern.BeanFactory factory =new XmlBeanFactory(new FileSystemResource(“e:/spring/beans.xml"));
  18. 18. ApplicationContextAn application context gives more:• Support for I18N(Internationalization) for messages.• Provides generic way to load resources.• Publish events to beans registered as events.
  19. 19. ApplicationContext• ClassPathXmlApplicationContext - XML file located in the classpath• FileSystemXmlApplicationContext - XML file in the file system• XmlWebApplicationContext - XML file contained within a web application
  20. 20. ApplicationContext• ApplicationContext context = new FileSystemXmlApplicationContext("c:/foo.xml");• ApplicationContext context = new ClassPathXmlApplicationContext("foo.xml");
  21. 21. Beans Life cycle Above Figure is from Spring in action book, Manning publications
  22. 22. ApplicationContext – Bean Life Cycle Above Figure is from Spring in action book, Manning publications