0% found this document useful (0 votes)
6 views13 pages

Les17 Introduction To Spring Framework

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views13 pages

Les17 Introduction To Spring Framework

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Software Engineering

a.a. 2019-2020

Introduction to Spring Framework


Prof. Luca Mainetti
Università del Salento
Roadmap
■ Introduction to Spring
■ Dependency Injection and IoC
■ Bean
■ AoP
■ Module Architecture

Introduction to Spring Framework 2 Luca Mainetti


What Is Spring Framework?
■ Spring is the most popular application development
framework for Java enterprise
■ Open source Java platform since 2003.
■ Spring supports all main application servers and JEE
standards
■ Spring handles the infrastructure so you can focus on your
application
■ Current version: 5.0.X

Introduction to Spring Framework 3 Luca Mainetti


What does Spring offer?
■ Dependency Injection
– Also known as IoC (Inversion of Control)
■ Aspect Oriented Programming
– Runtime injection-based
■ Portable Service Abstractions
– The rest of spring
• ORM, DAO, Web MVC, Web, etc.
• Allows access to these without knowing how they actually work

Introduction to Spring Framework 4 Luca Mainetti


Dependency Injection
■ The technology that actually defines Spring (Heart
of Spring).
■ Dependency Injection helps us to keep our classes
as indepedent as possible.
– Increase reuse by applying low coupling
– Easy testing
– More understandable

An injection is the passing of a dependency (a service) to a dependent


object (a client). Passing the service to the client, rather than allowing
a client to build or find the service, is the fundamental requirement of
the pattern.

Introduction to Spring Framework 5 Luca Mainetti


Dependency Injection and Inversion of Control
(IoC)

In software engineering, inversion of control (IoC)


describes a design in which custom-written
portions of a computer program receive the flow
of control from a generic, reusable library.

■ The Inversion of Control (IoC) is a general concept,


and it can be expressed in many different ways and
dependency Injection is merely one concrete
example of Inversion of Control.

Introduction to Spring Framework 6 Luca Mainetti


IoC container

■ The Spring container (IoC Container) is the core of


the Spring Framework.
■ The container will create the objects, wire them
together, configure them, and manage their
complete lifecycle from creation till destruction

Introduction to Spring Framework 7 Luca Mainetti


IoC container

■ The container gets its instructions on what objects to


instantiate, configure, and assemble by reading
configuration metadata provided.
■ The configuration metadata can be represented either by:
– XML
– Java annotations
– Java code.

Introduction to Spring Framework 8 Luca Mainetti


What is a Bean?

■ Typical java bean with a unique id


■ In spring there are basically two types
– Singleton
• One instance of the bean created and referenced each time it is
requested
– Prototype (non-singleton)
• New bean created each time
• Same as new ClassName()
■ A Spring IoC container manages one or more
beans
■ Beans are normally created by Spring as late as
possible

Introduction to Spring Framework 9 Luca Mainetti


Aspect Oriented Programming (AOP)

■ AOP entails breaking down program logic into distinct


parts called concerns.
■ The functions that span multiple points of an
application are called cross-cutting concerns and these
cross-cutting concerns are conceptually separate from
the application's business logic.
■ AOP is like triggers in programming languages such as
Perl, .NET, Java and others.
■ Examples of cross-cutting concerns:
– Logging
– Security
– Transaction
– Caching

Introduction to Spring Framework 10 Luca Mainetti


Aspect Oriented Programming (AOP)
■ Cross-cutting

T
r
S BookingService a
e L
o n
c s
u g
g a
r UserService
i c
i t
t n
g i
y o
CommentService n

Introduction to Spring Framework 11 Luca Mainetti


Aspect Oriented Programming (AOP)

Introduction to Spring Framework 12 Luca Mainetti


Spring Modules
■ The Spring
Framework consists
of features organized
into about 20
modules.
■ These modules are
grouped into Core
Container, Data
Access/Integration,
Web, AOP (Aspect
Oriented
Programming),
Instrumentation, and
Test.

Introduction to Spring Framework 13 Luca Mainetti

You might also like