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

Szmetankó Gábor Greencode Kft.

Hasonló előadás


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

1 Szmetankó Gábor Greencode Kft. gabor.szmetanko@greencode.hu
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 Engine Car 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: @Component @Component(“myComponent”) @Service @Repository Dependency Injection: @Autowired @Qualifier(“myComponent”) @Required

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("<h1>" + message + "</h1>"); public void destroy() {

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

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

11 Spring MVC architektúra

12 Spring MVC architektúra

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 példa @RequestMapping
public class HelloWorldController { @RequestMapping("/helloWorld") public String helloWorld(Model model) { model.addAttribute("message", "Hello World!"); return "helloWorld"; } @RequestMapping 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 paraméterei
@PathVariable @RequestMapping(value="/owners/{ownerId}") public String String ownerId, Model model) {} HttpServletRequest, HttpServletResponse, HttpSession @RequestParam @RequestHeader @RequestBody Model, ModelMap @ModelAttribute BindingResult @CookieValue @Valid

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

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 "Szmetankó Gábor Greencode Kft."

Hasonló előadás


Google Hirdetések