Spring Framework Final

Embed Size (px)

Citation preview

  • 8/3/2019 Spring Framework Final

    1/17

    Submitted by,

    Ankur Trapasiya

    ([email protected]

    .in)

  • 8/3/2019 Spring Framework Final

    2/17

    IntroductionOverview of Spring

    Architecture

    Features of SpringAdvantages

    Disadvantages

    Bibliography

    10/30/2011 2

  • 8/3/2019 Spring Framework Final

    3/17

    Overview of SpringAn open source application framework for Java

    Platform.

    Developed by Rob Johnson in October 2002.

    Core features can be used by any java application.

    No specific programming model.

    Popular in java community as an alternative forEJBs.

    Motivation being Persistence Solutions, RemotingTools and the areas which does not well served byother frameworks.

    10/30/2011 3

  • 8/3/2019 Spring Framework Final

    4/17

    ArchitectureLayered architecture consisting seven

    modules

    Modules are built on the top of the corecontainer which defines how the beans arecreated, configured and managed.

    10/30/2011 4

  • 8/3/2019 Spring Framework Final

    5/17

    Architecture

    10/30/2011 5

  • 8/3/2019 Spring Framework Final

    6/17

    ArchitectureSpring modulesThe Core container.

    Spring Context.Spring AOP.

    Spring DAO.

    Spring ORM.

    Spring Web Module.Spring MVC framework.

    10/30/2011 6

  • 8/3/2019 Spring Framework Final

    7/17

    Spring ModulesThe Core ContainerProvides essential functionality.BeanFactory

    Applies IoC to separate application configuration and dependencyspecification in actual code.

    Spring ContextConfiguration file that provides context information.Context include enterprise services like JNDI, EJB, e-mail,

    internationalization, validation and scheduling functionality.

    Spring AOPCan incorporate declarative transaction management into

    application without relying on EJB components.

    10/30/2011 7

  • 8/3/2019 Spring Framework Final

    8/17

    Spring ModulesSpring DAOProvides meaningful exception hierarchy for every

    database vendors.

    Less code to write to handle exceptions.Spring ORMPlugs into several ORM frameworks like hibernate,JDO,JPA etc.

    Spring Web ModuleMakes integration with other frameworks possible.Eases task of handling multipart request and

    request parameter binding.

    10/30/2011 8

  • 8/3/2019 Spring Framework Final

    9/17

    Features of SpringInversion of Control (IoC).

    TransactionManagement.

    Data Access Framework.

    Spring Integration

    Framework.AOP Framework.

    MVC Framework.

    Authentication andAuthorization Services.

    Remote AccessFramework.

    Messaging. (JMS)Batch Processing.

    10/30/2011 9

  • 8/3/2019 Spring Framework Final

    10/17

    Inversion of ControlSatisfy the dependencies without introducing

    the dependencies.

    Two main types to implement IoCDependency lookup Container manages object lifecycle.

    Lookup context, callback methods.

    Dependency Injection Container is wholly responsible to wire up the

    components.

    Setter Dependency Injection.

    Constructor Dependency Injection.

    10/30/2011 10

  • 8/3/2019 Spring Framework Final

    11/17

    Transaction ManagementBrings an abstraction mechanism to Java

    platform.

    It is capable ofWorking with local and global transactions.

    Working with nested transactions.

    Working with transaction safepoints.

    Working with almost all environments of javaplatform.

    10/30/2011 11

  • 8/3/2019 Spring Framework Final

    12/17

    Data Access FrameworkProvides flexible abstraction for working with

    databases.

    Support for popular data access frameworkslike JDBC, Hibernate, JDO, JPA etc.

    Features includeResource Management

    Exception HandlingTransaction Participation

    Resource Unwrapping.

    Abstraction for BLOB and CLOB handling.

    10/30/2011 12

  • 8/3/2019 Spring Framework Final

    13/17

    Integration FrameworkSupport for EAI.

    Provides adapters for following types of

    Integration.File System

    Http

    Web Services

    MailJMS

    RMI

    10/30/2011 13

  • 8/3/2019 Spring Framework Final

    14/17

    Spring FeaturesAuthentication and AuthorizationProvides range of type of security, protocols, tools

    and standards.

    Remote Access FrameworkRPC style exchange of objects over the network

    supporting SOAP, CORBA, RMI.

    MessagingSupport for JMS.

    Batch ProcessingSupport for reusable functions like logging,

    transaction management, job management.

    10/30/2011 14

  • 8/3/2019 Spring Framework Final

    15/17

    AdvantagesStandard JDBC error handling is ugly but Spring JDBC

    template solves this problem.

    Application objects have a minimal dependence on

    framework.Consistent Configuration.

    Ease of testing and integration.

    Promotes decoupling and reusability.

    Allows extensibilityRelies on interfaces rather than classes which are easyto extend or customize.

    10/30/2011 15

  • 8/3/2019 Spring Framework Final

    16/17

    DisadvantagesOne has to give fair amount of time to learn

    it.Has to learn J2SE, J2EE , Application Server etc.

    Configuration involved reduces theunderstandability of the code.

    Too much XML.

    10/30/2011 16

  • 8/3/2019 Spring Framework Final

    17/17

    Bibliographyhttp://en.wikipedia.org/wiki/Spring_Frameworkhttp://static.springsource.org/spring/docs/2.5.x/reference/mhttp://www.ibm.com/developerworks/web/library/wa-spring

    http://www.roseindia.net/spring/springarchitecture.shtmlhttp://www.velocityreviews.com/forums/t389758-advantaghttp://www.cs.uofs.edu/~bi/2005f-html/se510/presentationhttp://www.cs.uofs.edu/~bi/2005f-html/se510/presentation

    http://www.javabeat.net/articles/spring/2/

    10/30/2011 17

    http://en.wikipedia.org/wiki/Spring_Frameworkhttp://static.springsource.org/spring/docs/2.5.x/reference/mvc.htmlhttp://www.ibm.com/developerworks/web/library/wa-spring1/http://www.roseindia.net/spring/springarchitecture.shtmlhttp://www.velocityreviews.com/forums/t389758-advantages-and-disadvantages-of-using-the-spring-framework.htmlhttp://www.cs.uofs.edu/~bi/2005f-html/se510/presentation-html/Spring_Framework-1.htmlhttp://www.cs.uofs.edu/~bi/2005f-html/se510/presentation-html/img26.htmlhttp://www.javabeat.net/articles/spring/2/http://www.javabeat.net/articles/spring/2/http://www.cs.uofs.edu/~bi/2005f-html/se510/presentation-html/img26.htmlhttp://www.cs.uofs.edu/~bi/2005f-html/se510/presentation-html/Spring_Framework-1.htmlhttp://www.velocityreviews.com/forums/t389758-advantages-and-disadvantages-of-using-the-spring-framework.htmlhttp://www.roseindia.net/spring/springarchitecture.shtmlhttp://www.ibm.com/developerworks/web/library/wa-spring1/http://static.springsource.org/spring/docs/2.5.x/reference/mvc.htmlhttp://en.wikipedia.org/wiki/Spring_Framework