spring: usarlo conviene, ma usalo bene!

9
Spring: usarlo conviene, ma usalo bene Lucio Benfante lucio benfante.com @ verona.javaday.it www.jugpadova.it

Upload: benfante

Post on 03-Jul-2015

1.124 views

Category:

Technology


0 download

DESCRIPTION

Le tecniche di Inversion of Control (IoC), e in particolare quelle di Dependency Injection (DI), si sono rivelate nel corso di anni utilissime per scrivere applicazioni ben organizzate, manutenibili e testabili. Per questa ragione lo Spring Framework, alla cui base ci sono proprio tali tecniche, è diventato una presenza quasi obbligatoria nella maggior parte delle applicazioni. Come molte tecnologie, se usate bene hanno vantaggi innegabili. I problemi sorgono quando vengono usate senza alcun controllo da sviluppatori inesperti, che le usano senza alcuna consapevolezza, generando effetti totalmente dannosi all’applicazione e, soprattutto, al processo di sviluppo. In questa presentazione verrà innanzitutto introdotto lo Spring Framework, mostrandone le caratteristiche di base, e le utilissime capacità di integrazione di svariate tecnologie. Successivamente verranno mostrati esempi di cattivo e buon utilizzo, cercando di fornire delle linee guida che indirizzino anche i programmatori meno esperti verso la strada corretta.

TRANSCRIPT

Page 1: Spring: usarlo conviene, ma usalo bene!

Spring:usarlo conviene, ma usalo bene

Lucio Benfante

lucio benfante.com@

verona.javaday.it www.jugpadova.it

Page 2: Spring: usarlo conviene, ma usalo bene!

Inversion Of Control (IoC)

Inversion of control, or IoC, is an abstract principle describing an aspect of some software architecture designs in which the flow of control of a system is inverted in comparison to procedural programming.

from wikipedia

Page 3: Spring: usarlo conviene, ma usalo bene!

Dependencies are BAD

List drugs = new ArrayList();

Page 4: Spring: usarlo conviene, ma usalo bene!

IoC and Dependency Injection (DI)

Inversion of Control

Constructor InjectionSetter injection

Dependency InjectionDependency Lookup

Page 5: Spring: usarlo conviene, ma usalo bene!

Spring framework?

IoC container

Page 6: Spring: usarlo conviene, ma usalo bene!

Inject your objects

beans< >

bean id=”person ” class=”com.myapp.Person”< 1 > property name=”firstName” value=”Lucio”/< > property name=”lastName” value=”Benfante”/< > property name=”bornIn” ref=”venice”/< > /bean< >

bean id=”venice” class=”com.myapp.City”< > constructor-arg value=”Venezia”/< > /bean< >

/beans< >

Page 7: Spring: usarlo conviene, ma usalo bene!

XML is boring

Page 8: Spring: usarlo conviene, ma usalo bene!

Spring in Parancoe demonstration(www.parancoe.org)

Page 9: Spring: usarlo conviene, ma usalo bene!

References

● http://www.objectmentor.com/resources/articles/dip.pdf

● http://martinfowler.com/articles/injection.html

● http://martinfowler.com/bliki/InversionOfControl.html

● www.springframework.org

● www.parancoe.org