Sobes.tech
Junior

Čo je Spring Web?

sobes.tech AI

Odpoveď od AI

Spring Web je súčasťou Spring Frameworku a poskytuje funkcie na tvorbu webových aplikácií. Zahŕňa moduly Spring MVC a Spring WebFlux, ktoré podporujú príslušne API servletov a reaktívny stack.

Kľúčové komponenty Spring Web:

  • Spring MVC: Modul na tvorbu webových aplikácií podľa vzoru Model-View-Controller. Ponúka:
    • DispatcherServlet - centrálny riadič, ktorý smeruje prichádzajúce požiadavky.
    • Anotácie @Controller a @RestController na definovanie riadičov.
    • Mechanizmy mapovania požiadaviek (@RequestMapping, @GetMapping atď.).
    • Podpora View Resolvers na vykresľovanie pohľadov.
    • Mechanizmy validácie dát.
    • Podpora RESTful webových služieb.
  • Spring WebFlux: Modul na tvorbu reaktívnych webových aplikácií s použitím neblokujúceho I/O. Podporuje:
    • Reaktívne dátové toky (Project Reactor).
    • Funkčné koncové body (namiesto anotovaných riadičov).
    • Rôzne reaktívne webové servery (Netty, Undertow, Jetty).

Porovnanie Spring MVC a Spring WebFlux:

Charakteristika Spring MVC Spring WebFlux
I/O stack Blokujúci (Servlet API) Neblokujúci (Reaktívny)
Architektúra Thread-per-request Event loop
Propustnosť Nižšia pri vysokých záťažiach Vyššia pri vysokých záťažiach
Zložitosť Jednoduchšia Zložitejšia (vyžaduje pochopenie reaktívneho programovania)
Typické použitie Tradičné webové aplikácie Vysoko zaťažené, reaktívne služby

Takže Spring Web poskytuje výkonné nástroje na tvorbu ako tradičných, tak reaktívnych webových aplikácií v Jave, zabezpečujúc flexibilitu a vysoký výkon.