Tanfolyam célja
A Spring az egyik legnépszerűbb nyíltforrású Java alkalmazás keretrendszer. Gyakran emlegetik a Java eszközök svájci bicskájaként is, erős integrációs szerepe miatt. A tanfolyam célja bemutatni a keretrendszert magát, alapfogalmait, architektúráját, a különböző modulok szerepét és azok használatát komplex példákon keresztül. Az oktatás során számos területről kap betekintést a hallgató, amelyek ugyan nem Spring specifikus ismeretek, de feltétlenül szükségesek a tanfolyami anyag megértéséhez. Ilyen téma többek közt számos tervezési minta megismerése, adatbázis elméleti fogalmak, architektúrális megfontolások. A tanfolyam végére a hallgató képes lesz összeállítani egy minden réteget lefedő, Spring alapú nagyvállalati alkalmazást.
Óraszám: 40 tanóra (1 tanóra: 45 perc)
Időbeosztás:
10 alkalommal, hétfőtől péntekig, 13h - 16:15h, két héten keresztül délutánonként napi 4 tanórában.
Kiknek ajánljuk
A tanfolyam azon gyakorlott Java fejlesztőknek ajánlott, akik erős Java programozási ismeretekkel rendelkeznek, szeretnék megismerni és az ajánlás szerint használni a legelterjedtebb tervezési mintákat és refaktoring módszereket. A tanfolyam elvégzésével a résztvevők elsajátítják a Java nyelv objektumorientált képességeinek megfelelő alkalmazását és képessé válnak mások számára is könnyen továbbfejleszthető kód készítésére, ezáltal növelve a fejlesztés hatékonyságát és a termék karbantarthatóságát.
Szükséges előképzettség
- Java programozási ismeretek és gyakorlat.
- Java web alapú fejlesztés alapismeretek (Servlet technológia, JSP, XML kezelés).
Tematika
Fejlesztő keretrendszer bemutatása, felépítése
- Eclipse fejlesztői környezet bemutatása,
- Maven alapú projekt és alkalmazás-szerver előkészítése, konfigurációja (JDK 1.7, Eclipse, Maven, Apache Tomcat 7)
Architektúrális alapok, bevezetés a Spring keretrendszer alapfogalmaiba
- N rétegű web alkalmazások felépítése, a rétegek szerepe, interfész alapúság.
- Mi is a Spring, a rendszer moduljainak áttekintése.
- Fejlesztés a keretrendszer szemszögéből.
Konfiguráció, Spring bean-ek fogalma, bean-ek életciklus modellje, callback mechanizmus
- Inversion of Control, Dependency injection fogalma.
- XML és annotáció alapú konfiguráció alapjai, property editor fogalma.
- Spring bean-ek definiálása, bean életciklus, callback metódusok használata.
- Application context fogalma, típusai.
Perzisztencia réteg kialakítása JDBC és ORM eszközök segítségével
- Spring JDBC és JPA támogatás.
- Template és support osztályok áttekintése.
- Perzisztencia réteg kialakítása a DAO tervezési mintának megfelelően.
Tranzakció-kezelés
- Deklaratív és programozott tranzakció kezelés elméleti alapjai és gyakorlati alkalmazása Spring környezetben.
Aspektus orientált programozás
- Aspektus orientált programozás alapfogalmai (aspect, pointcut, advice, target, proxy, introduction, weaving…)
Spring MVC Spring MVC alapok.
- MVC tervezési minta,
- controller osztályok,
- URL mapping típusok,
- a viewresolver interfész és implementációi,
- interceptor-ok.
- Az alkalmazás lokalizációja,
- JSTL használata. Validáció, databinding.
Spring Security
- Spring security alapok, konfiguráció.
- BASE és FORM alapú authentikáció, saját authentication provider használata.
- Fontosabb konfigurációs beállítások, kontroller és szerviz réteg védelme.
Unit és integrációs tesztelés Spring környezetben.
- Spring Textcontext keretrendszer használata,
- JUnit, TestNG bemutatása, használata,
- Mock objektumok.
Összevetés a Java EE technológiákkal
- fontos különbségek, összehasonlítás pró és kontra jelleggel,
- fontosabb webes keretrendszerek áttekintése.
Kiegészítő technológiák a tanfolyami példáknak megfelelően
- JMS technológia integrációja,
- JNDI erőforrások használata,
- E-mail küldés, dinamikus nyelvek támogatása,
- komplex Groovy példa.