Post on 07-Apr-2018
transcript
8/3/2019 Spring Framework Final
1/17
Submitted by,
Ankur Trapasiya
(201112040@daiict.ac
.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