java spring framework

Post on 11-May-2015

946 Views

Category:

Education

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Spring 3.0 framework Introduction

TRANSCRIPT

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

Core

AOP

DAO ORM JEE Web

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

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

ApplicationContext – Bean Life Cycle

Above Figure is from Spring in action book, Manning publications

rgupta.trainer@gmail.com

top related