Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Spring

Spring
by

Kamil A

on 22 October 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Spring

Kontener IoC Walk in the SPRING Co to jest SPRING?! O czym chcialbym jeszcze powidziec, a dzisiaj tego nie zrobie: DI, czyli Dependency Injection pakiety i interfejsy to ja mam wszedzie! Ruszmy ten kontener Framework, szkielet tworzenia aplikacji w JAVA (Istnieje rowniez wersja dla .NET). Moduły szablonu SPRING Kontener IoC
AoP
Dostep do danych (JDBC)
Obsluga transakcji (JTA, JDBC)
MVC (Model-View-Controler)
Autoryzacja i uwierzytelnianie
JMX (Zdalne zarzadzanie)
Komunikacja JMS
Obsluga testowania Kontener IoC IoC - Inversion of Control, czyli podejcie do programowania wykorzystujace DI (Dependency Injection), gdzie elementy odpowiedzialne za kontrole pewnych czynnosci (beany) zostaja przeniesione na zewnatrz i wstrzykiwane do klasy. DI jest procesem, w ktorym obiekty (beany) maja zdefiniowane zaleznosci z obiektami, z ktorymi maja wspolpracowac. Dependency Injection DI realizowane jest poprzez:
konstruktor
settery

Kontener wstrzykuje zaleznosci w momencie
powstawania beanow. http://www.springframework.net/ Podstawowymi pakietami dla IoC kontenera sa:
org.springframework.beans
org.springframework.context Interfejsy kontenera:
BeanFactory
ApplicationContext Kiedy BeanFactory a kiedy ApplicationContext? "Use an ApplicationContext unless you have a good reason for not doing so."
Spring API BeanFactory ApplicationContext Interfejs org.springframework.context.ApplicationContext reprezentuje kontener Spring IoC i jest odpowiedzialny za instancjonowanie, konfiguracje i wstrzykiwanie bean'ów. Sposoby konfiguracji bean'ow Plik XML
Adnotacje JAVA (Spring 2.5)
Kod JAVA (Spring 3.0) Przyklad pliku XML <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>

<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>

<!-- more bean definitions go here -->

</beans> Tworzymy kontener ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {"services.xml", "daos.xml"}); services.xml <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<!-- services -->

<bean id="petStore"
class="org.springframework.samples.jpetstore.services.PetStoreServiceImpl">
<property name="accountDao" ref="accountDao"/>
<property name="itemDao" ref="itemDao"/>
<!-- additional collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions for services go here -->
</beans> ApplicationContext (kontener) posiada rozbudowane moliwoci, które pozwalaj na wycignicie instancji beana z kontenera za pomoc jego nazwy i typu : // retrieve configured instance
PetStoreServiceImpl service = context.getBean("petStore", PetStoreServiceImpl.class);

// use configured instance
List userList service.getUsernameList(); Jas Fasola ?! Bean'y - kazda klasa JAVA moze byc beanem, ktory trafi do kontenera, bedzie przez niego instancjonowany i zarzadzany. Cykl zycia fasolki Dodajmy fasolke do xmla Niech sie dzieje magia Zakres/scope fasolki/bean'a Dwa podstawowe typy:
Singleton
Prototype Sa jeszcze inne cuda wianki Request - dla HTTP request, obowiazuje dla contextu zwiazanego z WEB, kazdy request ma wlasna instancje beana.
Session - dla HTTP sesji
Global-session - dla globalnej sesji HTTP, obowiazujacy zakres dla portletowych contextow. Jas Fasola moze miec rodzica?! And the winner is...czyli kto tu komu parentuje A co gdybym chcial cos jeszcze zrobic, zanim fasolka zostanie posadzona? Trzeba jeszcze skonfigurowac...
No i odpalic... Jak realizowany jest DI poprzez XML (settery i konstruktor)
Bean w beanie? Da sie wstrzyknac
W jaki sposob wstrzykiwac kolekcje
Autowiring (typy)
XML! A moze lepsze sa adnotacje?
To to mozna beany poprzez kod definiowac?!
Event Handling, czyli cos sie dzieje
Mozna tworzyc wlasne wydarzenia (Custom Events)


czy mozna odszukac beany danego typu i je wylapac.
zawezenie postprocess do konkretnego beana.
Clap Clap : )
Full transcript