Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

SPRING MVC bemutatása Szmetankó Gábor Greencode Kft.

Hasonló előadás


Az előadások a következő témára: "SPRING MVC bemutatása Szmetankó Gábor Greencode Kft."— Előadás másolata:

1 SPRING MVC bemutatása Szmetankó Gábor Greencode Kft.

2 Egy kis ismétlés - Dependency Injection Car Engine Wheel Window Window window1 = new Window(); Window window2 = new Window(); Wheel wheel1 = new Wheel(); Wheel wheel2 = new Wheel(); Wheel wheel3 = new Wheel(); Wheel wheel4 = new Wheel(); Engine engine = new Engine(); Car car = new Car(window1, window2, wheel1, wheel2, wheel3, wheel4, engine);

3 Egy kis ismétlés - Dependency Injection DI Framework Car Engine Wheel Window MyService service = new MyService(Car car);

4 Egy kis ismétlés – Spring Framework  A Spring Framework egy Java platform Java alapú alkalmazások fejlesztésére  A Spring Framework adja az infrastruktúrát, így a fejlesztőknek csak a tényleges üzleti logikára kell koncentrálniuk

5 Egy kis ismétlés – Spring Framework

6 Egy kis ismétlés – legfontosabb Spring annotációk  Singleton komponensek létrehozása:  Dependency Injection:

7 Spring MVC  A Spring Framework model-view-controller modulja  Web alkalmazások fejlesztésére  Könnyen konfigurálható (convention over configuration)  Robosztus  Rugalmas  Könnyű tesztelhetőség  JSP tag library  Egyszerű validáció, lokalizáció, i18n

8 Hagyományos Servlet alapú alkalmazás public class HelloWorldServlet extends HttpServlet { private String message; public void init() throws ServletException { message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(" " + message + " "); } public void destroy() { }

9 Model-View-Controller Model az alkalmazás állapotát tárolja értesíti a view-t az állapot megváltozásáról Controller az alkalmazás logikáért felelős a felhaszálói interakciókat model változtatásokra képezi le kiválasztja a megfelelő view-t View a model vizuális megjelenítéséért felelős felhasználói interakciók továbbítása a controllerhez

10 Front Controller Controller 1 Controller 2 Controller 3 View 1 View 2 View 3 Kontroller kiválasztásaAutorizációAutentikációLogging Request Model Egy konkrét üzleti funkcióMegjelenítés

11 Spring MVC architektúra

12

13 DispatcherServlet  A Front Controller szerepét tölti be  Bármely kérés a klienstől először a DispatcherServlethez érkezik  Tartozik hozzá egy Spring Context  Framework specifikus feladatokat lát el  Hagyományos Servletként kell regisztrálni (web.xml)

14 HandlerMapping  Feladata a kliens URL-ből meghatározni a kontrollert  Interfész: tetszőleges implementáció konfigurálható  Számos implementációt nyújt a Spring:  SimpleUrlHandlerMapping: hagyományos Map  ControllerClassNameHandlerMapping  BeanNameHandlerMapping  és még sok más...

15 Controller  Üzleti logika egy részét implementálják  DispatcherServlet hívja meg  Feladata a model módosítása és a megfelelő view kiválasztása  Hagyományos Java annotációval  Egy-egy metódus a különféle kérések lekezelésére

16 Controller public class HelloWorldController public String helloWorld(Model model) { model.addAttribute("message", "Hello World!"); return "helloWorld"; }  Megadja, hogy milyen URL-re érkező kéréseket szolgál ki a metódus  Megadható a HTTP metódus is (pl. GET, POST)  Az osztályon is elhelyezhető (globális hatás)

17 Handler metódus leggyakoribb public String String ownerId, Model model) {}  HttpServletRequest, HttpServletResponse, HttpSession  Model, ModelMap  BindingResult

18 Handler metódus leggyakoribb visszatérési értékei  Model  ModelAndView  Map  String  void

19 ModelAndView  Controllerek visszatérési értéke  Egyszerű konténer osztály, amely a model és a view adatait tartalmazza  Model: a controller tölti fel adatokkal  View  Logikai név  Implicit vagy a controller adja meg return new ModelAndView(”myView”, ”myModelKey”, ”myModelValue”);

20 ViewResolver  A logikai view névhez rendel tényleges view-t  Ugyancsak egy interfész  Tetszőleges implementáció konfigurálható  Számos gyári implementáció közül választhatunk:  InternalResourceViewResolver  BeanNameViewResolver  VelocityViewResolver  XmlViewResolver

21 View  A tényleges vizuális megjelenítésért felelős  Számos technológiát támogat:  JSP & JSTL (Spring tag library)  Tiles  Velocity  FreeMarker  PDF, Excel, JSON, RSS, XML

22 Egyéb hasznos dolgok  Lokalizáció  Többnyelvűség  Témák  AJAX, REST  Fájl feltöltés  Exception kezelés  Caching

23 Köszönöm a figyelmet! Forráskód: github.com/szmeti/spring-mvc-demo


Letölteni ppt "SPRING MVC bemutatása Szmetankó Gábor Greencode Kft."

Hasonló előadás


Google Hirdetések