Pokrenite web aplikaciju s Spring 5

OSTALO Vrh

Upravo sam najavio novo Uči proljeće tečaj, usredotočen na osnove Spring 5 i Spring Boot 2:

>> PROVJERITE TEČAJ

1. Pregled

Vodič ilustrira kako Pokrenite web aplikaciju s Springom.

Istražit ćemo rješenje Spring Boot za pokretanje aplikacije i također ćemo vidjeti pristup koji nije Spring Boot.

Primarno ćemo koristiti Java konfiguraciju, ali također ćemo pogledati njihovu ekvivalentnu XML konfiguraciju.

2. Bootstrapping pomoću Spring Boot-a

2.1. Ovisnost Mavena

Prvo, trebat će nam ovisnost spring-boot-starter-web:

 org.springframework.boot spring-boot-starter-web 2.1.1.OSLOBODI 

Ovaj starter uključuje:

  • proljeće-mreža i proljeće-webmvc modul koji nam je potreban za našu web aplikaciju Spring
  • Tomcat starter kako bismo mogli izravno pokretati našu web aplikaciju bez izričite instalacije bilo kojeg poslužitelja

2.2. Stvaranje Spring Boot Application

Najjednostavniji način za početak korištenja Spring Boota je stvaranje glavne klase i dodavanje oznaka s @SpringBootApplication:

@SpringBootApplication javna klasa SpringBootRestApplication {public static void main (String [] args) {SpringApplication.run (SpringBootRestApplication.class, args); }}

Ova pojedinačna bilješka ekvivalentna je upotrebi @Konfiguracija, @EnableAutoConfiguration, i @ComponentScan.

Prema zadanim postavkama skenirat će sve komponente u istom paketu ili niže.

Dalje, za konfiguraciju Spring graha temeljenu na Javi, moramo stvoriti klasu config i označiti je s @Konfiguracija bilješka:

@Configuration javna klasa WebConfig {}

Ova je napomena glavni artefakt koji koristi konfiguracija Spring utemeljena na Javi; sama je metakomentirana s @Komponenta, koji anotirane klase čini standardnim grahom i kao takvi također kandidati za skeniranje komponenata.

Glavna svrha @Konfiguracija klase trebaju biti izvori definicija graha za proljetni IoC kontejner. Za detaljniji opis pogledajte službene dokumente.

Pogledajmo i rješenje pomoću jezgre proljeće-webmvc knjižnica.

3. Bootstrapping pomoću spring-webmvc

3.1. Ovisnosti Mavena

Prvo, trebamo ovisnost spring-webmvc:

 org.springframework spring-webmvc 5.0.0.OSLOBODI 

3.2. Web-konfiguracija zasnovana na Javi

Dalje ćemo dodati klasu konfiguracije koja ima @Konfiguracija napomena:

@Configuration @EnableWebMvc @ComponentScan (basePackages = "com.baeldung.controller") javna klasa WebConfig {}

Ovdje ćemo, za razliku od rješenja Spring Boot, morati izričito definirati @EnableWebMvc za postavljanje zadanih proljetnih MVC konfiguracija i @ComponentScan za određivanje paketa za skeniranje komponenata.

The @EnableWebMvc napomena pruža Spring MVC konfiguraciju, poput postavljanja servleta dispečera, omogućujući @Controller i @RequestMapping napomene i postavljanje ostalih zadanih postavki.

@ComponentScan konfigurira smjernicu za skeniranje komponenata, navodeći pakete za skeniranje.

3.3. Klasa inicijalizatora

Dalje, trebamo dodajte klasu koja implementira WebApplicationInitializer sučelje:

javna klasa AppInitializer implementira WebApplicationInitializer {@Override public void onStartup (spremnik ServletContext) baca ServletException {AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext (); context.scan ("com.baeldung"); container.addListener (novi ContextLoaderListener (kontekst)); ServletRegistration.Dynamic dispečer = container.addServlet ("mvc", novi DispatcherServlet (kontekst)); dispečer.setLoadOnStartup (1); dispečer.addMapping ("/"); }}

Ovdje stvaramo proljetni kontekst pomoću AnnotationConfigWebApplicationContext klase, što znači da koristimo samo konfiguraciju koja se temelji na bilješkama. Zatim specificiramo pakete za skeniranje komponenata i klasa konfiguracije.

Na kraju, definiramo ulaznu točku za web aplikaciju - DispatcherServlet.

Ova klasa može u potpunosti zamijeniti web.xml datoteka iz <3.0 Servlet verzija.

4. XML konfiguracija

Kratko ćemo pogledati i ekvivalentnu XML web konfiguraciju:

Ovu XML datoteku možemo zamijeniti datotekom WebConfig razred gore.

Da bismo pokrenuli aplikaciju, možemo koristiti klasu Initializer koja učitava XML konfiguraciju ili datoteku web.xml. Za više detalja o ova dva pristupa pogledajte naš prethodni članak.

5. Zaključak

U ovom smo članku pregledali dva popularna rješenja za pokretanje web aplikacije Spring, jedno pomoću web pokretača Spring Boot, a drugo pomoću osnovne knjižnice spring-webmvc.

U sljedećem članku o REST-u s Springom obrađujem postavljanje MVC-a u projektu, konfiguraciju HTTP kodova statusa, razvrstavanje korisnog tereta i pregovaranje o sadržaju.

Kao i uvijek, kôd predstavljen u ovom članku dostupan je na Githubu. Ovo je projekt zasnovan na Mavenu, pa bi ga trebalo lako uvesti i pokrenuti kakav jest.

OSTALO dno

Upravo sam najavio novo Uči proljeće tečaj, usredotočen na osnove Spring 5 i Spring Boot 2:

>> PROVJERITE TEČAJ

$config[zx-auto] not found$config[zx-overlay] not found